Rezultati

Up. imeNalogaJezikRezultatČas oddaje
ayy-2018 Priprava naloge C++ 0/100Napačen odgovor (WA) 19. apr '18 @ 18:53

Test Točke Porabljen spomin Porabljen čas Status
#1 0/11 3,613 MiB 0,222 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom
<<<EOF>>>
Pravilen izhod:
​47120013852231
<<<EOF>>>
#2 0/11 3,613 MiB 0,198 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom
<<<EOF>>>
Pravilen izhod:
​46934781048360
<<<EOF>>>
#3 0/11 3,613 MiB 0,228 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom
<<<EOF>>>
Pravilen izhod:
​47218273002750
<<<EOF>>>
#4 0/11 3,613 MiB 0,204 s Napačen odgovor
Tvoj izhod:
​1743006127
<<<EOF>>>
Pravilen izhod:
​47098206909139
<<<EOF>>>
#5 0/11 3,613 MiB 0,194 s Napačen odgovor
Tvoj izhod:
​-421048150
<<<EOF>>>
Pravilen izhod:
​44833673137276
<<<EOF>>>
#6 0/11 3,695 MiB 0,164 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom
<<<EOF>>>
Pravilen izhod:
​38422565125413
<<<EOF>>>
#7 11/11 3,035 MiB 0,004 s OK
#8 11/11 3,605 MiB 0,099 s OK
#9 12/12 3,109 MiB 0,004 s OK

Ocenjevani program (priprava.cpp):
#include <iostream>
#include <vector>

using namespace std;

int main() {
	int k, n;
	cin >> k >> n;
	
	vector<int> cas;
	vector<int> pom;
	
	cas.reserve(n + 1);
	pom.reserve(n + 1);
	int t, c;
	
	cas.push_back(0);
	pom.push_back(0);
	
	for (int i = 1; i < n + 1; i++) {
		cin >> t >> c;
		cas.push_back(cas[i - 1] + t);
		pom.push_back(pom[i - 1] + c); 		
	}
	
	if (k > cas[cas.size() - 1]) {
		cout << "Tekma bo polom" << endl;
		return 0;
	}
	
	int curr = 0;
	int min = pom[pom.size() - 1];
	
	for (int i = 1; i < cas.size(); i++) {
		if (cas[i] - cas[curr] >= k) {
			while (cas[i] - cas[curr] >= k)
				curr++;
			curr--;
			if (pom[i] - pom[curr] < min) {
				min = pom[i] - pom[curr];
			}
		}
	}
	
	cout << pom[pom.size() - 1] - min << endl;
	return 0;
}