#include "gap.h"
#include <bits/stdc++.h>
using i64=long long;
const i64 INF=1e18;
long long findGap(int test, int n)
{
i64 rez=0;
if (test == 1)
{
i64 l=1,r=INF;
std::vector<i64>a;
for(int i=0;i<(n+1)/2 && l<=r;i++)
{
i64 extra_l=l,extra_r=r;
MinMax(extra_l,extra_r,&l,&r);
if(l==-1)
{
break;
}
a.push_back(l);
if(l!=r)a.push_back(r);
l++;
r--;
}
assert(a.size()==n);
sort(a.begin(),a.end());
rez=0;
i64 last=a[0];
for(auto &c:a)
{
rez=std::max(rez , c-last);
last=c;
}
}
else
{
i64 l,r;
MinMax(1,INF,&l,&r);
if(l==r)
{
return 0;
}
const i64 at_least_gap=(r-l+n-2)/(n-1);
rez=at_least_gap;
for(i64 i=l,last=l;i<=r;i+=at_least_gap+1)
{
i64 mn,mx;
MinMax(i,i+at_least_gap,&mn,&mx);
if(mn!=-1)
{
rez=std::max(rez , mn-last);
last=mx;
}
}
}
return rez;
}
Compilation message
In file included from /usr/include/c++/10/cassert:44,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
from gap.cpp:2:
gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:25:24: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
25 | assert(a.size()==n);
| ~~~~~~~~^~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
336 KB |
Output is correct |
2 |
Correct |
1 ms |
2384 KB |
Output is correct |
3 |
Correct |
1 ms |
2384 KB |
Output is correct |
4 |
Correct |
1 ms |
2384 KB |
Output is correct |
5 |
Correct |
1 ms |
2552 KB |
Output is correct |
6 |
Correct |
1 ms |
2384 KB |
Output is correct |
7 |
Correct |
1 ms |
2384 KB |
Output is correct |
8 |
Correct |
1 ms |
2384 KB |
Output is correct |
9 |
Correct |
1 ms |
2384 KB |
Output is correct |
10 |
Correct |
1 ms |
2384 KB |
Output is correct |
11 |
Correct |
1 ms |
2384 KB |
Output is correct |
12 |
Correct |
2 ms |
2384 KB |
Output is correct |
13 |
Correct |
1 ms |
2384 KB |
Output is correct |
14 |
Correct |
1 ms |
2384 KB |
Output is correct |
15 |
Correct |
1 ms |
2556 KB |
Output is correct |
16 |
Correct |
8 ms |
2896 KB |
Output is correct |
17 |
Correct |
8 ms |
2896 KB |
Output is correct |
18 |
Correct |
8 ms |
2896 KB |
Output is correct |
19 |
Correct |
8 ms |
2896 KB |
Output is correct |
20 |
Correct |
7 ms |
2896 KB |
Output is correct |
21 |
Correct |
35 ms |
3964 KB |
Output is correct |
22 |
Correct |
30 ms |
3784 KB |
Output is correct |
23 |
Correct |
30 ms |
3784 KB |
Output is correct |
24 |
Correct |
33 ms |
3784 KB |
Output is correct |
25 |
Correct |
28 ms |
3784 KB |
Output is correct |
26 |
Correct |
30 ms |
3776 KB |
Output is correct |
27 |
Correct |
30 ms |
3784 KB |
Output is correct |
28 |
Correct |
36 ms |
3784 KB |
Output is correct |
29 |
Correct |
31 ms |
3852 KB |
Output is correct |
30 |
Correct |
31 ms |
3784 KB |
Output is correct |
31 |
Correct |
1 ms |
2384 KB |
Output is correct |
32 |
Correct |
1 ms |
2384 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
2384 KB |
Output is correct |
2 |
Correct |
1 ms |
2384 KB |
Output is correct |
3 |
Correct |
1 ms |
2384 KB |
Output is correct |
4 |
Correct |
1 ms |
2384 KB |
Output is correct |
5 |
Correct |
1 ms |
2384 KB |
Output is correct |
6 |
Correct |
1 ms |
2384 KB |
Output is correct |
7 |
Correct |
1 ms |
2384 KB |
Output is correct |
8 |
Correct |
1 ms |
2384 KB |
Output is correct |
9 |
Correct |
1 ms |
2384 KB |
Output is correct |
10 |
Correct |
1 ms |
2384 KB |
Output is correct |
11 |
Correct |
1 ms |
2384 KB |
Output is correct |
12 |
Correct |
1 ms |
2384 KB |
Output is correct |
13 |
Correct |
1 ms |
2396 KB |
Output is correct |
14 |
Correct |
1 ms |
2552 KB |
Output is correct |
15 |
Correct |
1 ms |
2384 KB |
Output is correct |
16 |
Correct |
9 ms |
2384 KB |
Output is correct |
17 |
Correct |
9 ms |
2384 KB |
Output is correct |
18 |
Correct |
9 ms |
2384 KB |
Output is correct |
19 |
Correct |
9 ms |
2384 KB |
Output is correct |
20 |
Correct |
5 ms |
2384 KB |
Output is correct |
21 |
Correct |
40 ms |
2884 KB |
Output is correct |
22 |
Correct |
34 ms |
2640 KB |
Output is correct |
23 |
Correct |
44 ms |
2640 KB |
Output is correct |
24 |
Correct |
35 ms |
2844 KB |
Output is correct |
25 |
Correct |
37 ms |
2640 KB |
Output is correct |
26 |
Correct |
39 ms |
2640 KB |
Output is correct |
27 |
Correct |
44 ms |
2688 KB |
Output is correct |
28 |
Correct |
35 ms |
2784 KB |
Output is correct |
29 |
Correct |
35 ms |
2640 KB |
Output is correct |
30 |
Correct |
20 ms |
2640 KB |
Output is correct |
31 |
Correct |
1 ms |
2384 KB |
Output is correct |
32 |
Correct |
1 ms |
2384 KB |
Output is correct |