Submission #632612

# Submission time Handle Problem Language Result Execution time Memory
632612 2022-08-20T12:36:49 Z Richem Self Study (JOI22_ho_t2) C++14
0 / 100
409 ms 5012 KB
#include <iostream>
#define int long long
 
using namespace std;
 
const int MAX_COURS = 3e5+42, INF = 1e18;
 
int nbCours, nbSemaine;
 
int cours[MAX_COURS][2];
 
void input() {
	cin >> nbCours >> nbSemaine;
 
	for(int k = 0; k < 2; k++) {
		for(int i = 0; i < nbCours; i++)
			cin >> cours[i][k];
	}
	
	for(int i = 0; i < nbCours; i++)
	    cours[i][0] = max(cours[i][0], cours[i][1]);
}
 
int calc(int petit, int grand) {
	int rep = grand / petit;
 
	if(grand % petit != 0)
		rep++;
	return rep;
}
 
int nbRestant[MAX_COURS];
bool possible(int k) {
	int nbDispo = nbCours * nbSemaine;
	
	for(int cur = 0; cur < nbCours; cur++) {
		if(k <= cours[cur][0] * nbSemaine) {
			nbDispo -= calc(cours[cur][0], k);
		}
		else {
			int restant = k - nbSemaine * cours[cur][0];
			nbDispo = nbDispo - nbSemaine - calc(cours[cur][1], restant);
		}
	}

	return nbDispo >= 0;
}
 
int dicho(int deb, int fin) {
	while(deb < fin) {
		int milieu = (deb + fin+1) / 2;
 
		if(possible(milieu))
			deb = milieu;
		else
			fin = milieu-1;
	}
 
	return deb;
}
 
signed main() {
	input();
	cout << dicho(0, INF);
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 409 ms 4956 KB Output is correct
12 Correct 323 ms 5012 KB Output is correct
13 Correct 248 ms 4944 KB Output is correct
14 Incorrect 398 ms 4976 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 156 ms 2640 KB Output is correct
10 Correct 106 ms 1852 KB Output is correct
11 Correct 80 ms 1440 KB Output is correct
12 Correct 64 ms 1236 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Incorrect 5 ms 388 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 409 ms 4956 KB Output is correct
12 Correct 323 ms 5012 KB Output is correct
13 Correct 248 ms 4944 KB Output is correct
14 Incorrect 398 ms 4976 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 156 ms 2640 KB Output is correct
10 Correct 106 ms 1852 KB Output is correct
11 Correct 80 ms 1440 KB Output is correct
12 Correct 64 ms 1236 KB Output is correct
13 Correct 1 ms 212 KB Output is correct
14 Correct 0 ms 212 KB Output is correct
15 Correct 0 ms 212 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Incorrect 5 ms 388 KB Output isn't correct
19 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 0 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 5 ms 340 KB Output is correct
11 Correct 409 ms 4956 KB Output is correct
12 Correct 323 ms 5012 KB Output is correct
13 Correct 248 ms 4944 KB Output is correct
14 Incorrect 398 ms 4976 KB Output isn't correct
15 Halted 0 ms 0 KB -