Submission #632613

# Submission time Handle Problem Language Result Execution time Memory
632613 2022-08-20T12:38:54 Z Richem Self Study (JOI22_ho_t2) C++14
0 / 100
420 ms 5080 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(rep * petit < grand)
		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 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 0 ms 212 KB Output is correct
10 Correct 6 ms 384 KB Output is correct
11 Correct 323 ms 4864 KB Output is correct
12 Correct 329 ms 4988 KB Output is correct
13 Correct 261 ms 5080 KB Output is correct
14 Incorrect 420 ms 4956 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 164 ms 2732 KB Output is correct
10 Correct 127 ms 1740 KB Output is correct
11 Correct 80 ms 1464 KB Output is correct
12 Correct 65 ms 1240 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 6 ms 380 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 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 0 ms 212 KB Output is correct
10 Correct 6 ms 384 KB Output is correct
11 Correct 323 ms 4864 KB Output is correct
12 Correct 329 ms 4988 KB Output is correct
13 Correct 261 ms 5080 KB Output is correct
14 Incorrect 420 ms 4956 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 164 ms 2732 KB Output is correct
10 Correct 127 ms 1740 KB Output is correct
11 Correct 80 ms 1464 KB Output is correct
12 Correct 65 ms 1240 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 6 ms 380 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 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 0 ms 212 KB Output is correct
10 Correct 6 ms 384 KB Output is correct
11 Correct 323 ms 4864 KB Output is correct
12 Correct 329 ms 4988 KB Output is correct
13 Correct 261 ms 5080 KB Output is correct
14 Incorrect 420 ms 4956 KB Output isn't correct
15 Halted 0 ms 0 KB -