#include <bits/stdc++.h>
using namespace std;
long long i,j,a,b,tt;
long long x,r,m,n,s,t,k,l,y,z,v=234560;
set <pair<long long,long long>> p,c,d,e;
int main(){
cin >> n>>a>>b;
if (n == 1){
cin >>x>>y;
l = y-x+1;
if (l/a < b){
cout << l;
}
else cout << a*b;
return 0;
}
if (b ==1||a*b<=1000000){
if (b == 1&&a%2 == 0)
a/=2;
a=b*a;
for (i = 0; i<n; i ++){
cin >>x>>y;
if (y-x+1>=a){
cout << a;
return 0;
}
x%=a;
y%=a;
if (x <=y){
p.insert({x,y});
}
else {
p.insert({0,y});
p.insert({x,a-1});
}
}
t = -1;
while (p.size()){
auto u=*p.begin();
p.erase(*p.begin());
x=u.first;
y=u.second;
t=max(t,x-1);
s+=max(y-t,0ll);
t=max(y,t);
}
cout << s;
}
for (i = 0; i<n; i ++){
cin >>x>>y;
for (j = x; j<=y; j ++){
l = (j+j/b)%a;
m=j%b;
p.insert({l,m});
}
}
cout << p.size();
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
256 KB |
Output is correct |
2 |
Correct |
72 ms |
12280 KB |
Output is correct |
3 |
Correct |
91 ms |
17912 KB |
Output is correct |
4 |
Incorrect |
1 ms |
384 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
256 KB |
Output is correct |
2 |
Correct |
1 ms |
256 KB |
Output is correct |
3 |
Correct |
0 ms |
256 KB |
Output is correct |
4 |
Correct |
1 ms |
256 KB |
Output is correct |
5 |
Correct |
1 ms |
256 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
256 KB |
Output is correct |
2 |
Incorrect |
21 ms |
384 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
256 KB |
Output is correct |
2 |
Incorrect |
2482 ms |
62888 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
256 KB |
Output is correct |
2 |
Incorrect |
2482 ms |
62888 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
256 KB |
Output is correct |
2 |
Incorrect |
2482 ms |
62888 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
256 KB |
Output is correct |
2 |
Runtime error |
1623 ms |
524292 KB |
Execution killed with signal 9 (could be triggered by violating memory limits) |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
256 KB |
Output is correct |
2 |
Correct |
72 ms |
12280 KB |
Output is correct |
3 |
Correct |
91 ms |
17912 KB |
Output is correct |
4 |
Incorrect |
1 ms |
384 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |