#include<bits/stdc++.h>
#include "elephants.h"
using namespace std;
const int MAX_ELEPH=70*1000+5,INFINI=1000*1000*1000+5;
int nbEleph,taillePhoto;
int posTri[MAX_ELEPH];
int posCour[MAX_ELEPH];
void init(int N, int L, int X[]) {
nbEleph=N;
taillePhoto=L;
for (int i=0;i<nbEleph;i++) {
posTri[i]=X[i];
posCour[i]=X[i];
}
}
int calc() {
int ans=0,dernDeb=-INFINI;
for (int i=0;i<nbEleph;i++) {
if (dernDeb+taillePhoto<posTri[i]) {
ans++;
dernDeb=posTri[i];
}
}
return ans;
}
int update(int posModif, int valNouv) {
int deb=0,fin=nbEleph-1,mid;
while (deb!=fin) {
mid=(deb+fin+1)/2;
if (posTri[mid]<=posCour[posModif]) {
deb=mid;
}
else {
fin=mid-1;
}
}
int pos=deb;
posTri[pos]=valNouv;
posCour[posModif]=valNouv;
while (pos>0 and posTri[pos]<posTri[pos-1]) {
swap(posTri[pos-1],posTri[pos]);
pos--;
}
while (pos<nbEleph-1 and posTri[pos]>posTri[pos+1]) {
swap(posTri[pos],posTri[pos+1]);
pos++;
}
return calc();
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
8552 KB |
Output is correct |
2 |
Correct |
1 ms |
8540 KB |
Output is correct |
3 |
Correct |
1 ms |
8540 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
8552 KB |
Output is correct |
2 |
Correct |
1 ms |
8540 KB |
Output is correct |
3 |
Correct |
1 ms |
8540 KB |
Output is correct |
4 |
Correct |
1 ms |
8540 KB |
Output is correct |
5 |
Correct |
1 ms |
8540 KB |
Output is correct |
6 |
Correct |
1 ms |
8540 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
8552 KB |
Output is correct |
2 |
Correct |
1 ms |
8540 KB |
Output is correct |
3 |
Correct |
1 ms |
8540 KB |
Output is correct |
4 |
Correct |
1 ms |
8540 KB |
Output is correct |
5 |
Correct |
1 ms |
8540 KB |
Output is correct |
6 |
Correct |
1 ms |
8540 KB |
Output is correct |
7 |
Correct |
583 ms |
10588 KB |
Output is correct |
8 |
Correct |
1331 ms |
10696 KB |
Output is correct |
9 |
Correct |
1321 ms |
10844 KB |
Output is correct |
10 |
Correct |
2262 ms |
10848 KB |
Output is correct |
11 |
Correct |
2289 ms |
10852 KB |
Output is correct |
12 |
Correct |
4220 ms |
10848 KB |
Output is correct |
13 |
Correct |
2300 ms |
10848 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
8552 KB |
Output is correct |
2 |
Correct |
1 ms |
8540 KB |
Output is correct |
3 |
Correct |
1 ms |
8540 KB |
Output is correct |
4 |
Correct |
1 ms |
8540 KB |
Output is correct |
5 |
Correct |
1 ms |
8540 KB |
Output is correct |
6 |
Correct |
1 ms |
8540 KB |
Output is correct |
7 |
Correct |
583 ms |
10588 KB |
Output is correct |
8 |
Correct |
1331 ms |
10696 KB |
Output is correct |
9 |
Correct |
1321 ms |
10844 KB |
Output is correct |
10 |
Correct |
2262 ms |
10848 KB |
Output is correct |
11 |
Correct |
2289 ms |
10852 KB |
Output is correct |
12 |
Correct |
4220 ms |
10848 KB |
Output is correct |
13 |
Correct |
2300 ms |
10848 KB |
Output is correct |
14 |
Correct |
858 ms |
10740 KB |
Output is correct |
15 |
Correct |
3153 ms |
10764 KB |
Output is correct |
16 |
Execution timed out |
9046 ms |
10844 KB |
Time limit exceeded |
17 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
8552 KB |
Output is correct |
2 |
Correct |
1 ms |
8540 KB |
Output is correct |
3 |
Correct |
1 ms |
8540 KB |
Output is correct |
4 |
Correct |
1 ms |
8540 KB |
Output is correct |
5 |
Correct |
1 ms |
8540 KB |
Output is correct |
6 |
Correct |
1 ms |
8540 KB |
Output is correct |
7 |
Correct |
583 ms |
10588 KB |
Output is correct |
8 |
Correct |
1331 ms |
10696 KB |
Output is correct |
9 |
Correct |
1321 ms |
10844 KB |
Output is correct |
10 |
Correct |
2262 ms |
10848 KB |
Output is correct |
11 |
Correct |
2289 ms |
10852 KB |
Output is correct |
12 |
Correct |
4220 ms |
10848 KB |
Output is correct |
13 |
Correct |
2300 ms |
10848 KB |
Output is correct |
14 |
Correct |
858 ms |
10740 KB |
Output is correct |
15 |
Correct |
3153 ms |
10764 KB |
Output is correct |
16 |
Execution timed out |
9046 ms |
10844 KB |
Time limit exceeded |
17 |
Halted |
0 ms |
0 KB |
- |