QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#744172 | #9597. Grade 2 | xdz_# | WA | 20ms | 3632kb | C++20 | 1.3kb | 2024-11-13 21:03:31 | 2024-11-13 21:03:31 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
int gcd(int a,int b){
return b ? gcd(b,a % b) : a;
}
void solve(){
int x,n;
cin >>x>>n;
int zz = x;
for(int i = 2;i <= x + 10;i ++){
int z = (i * x) ^ x;
int z1 = gcd(z,x);
if(z1 == x){
x = i;
break;
}
}
vector<int> s(x + 1);
for(int i = 1;i <= x;i ++){
int z = (i * zz) ^ zz;
int z1 = gcd(z,zz);
if(z1 == 1){
s[i] = s[i - 1] + 1;
}
else s[i] = s[i - 1];
}
for(int i = 1;i <= n;i ++){
int l,r;
cin >>l>>r;
int sum = 0;
if(l == r){
l = (l % (x));
if(l == 0)cout<<s[(x)] - s[x - 1]<<'\n';
else cout<<s[l] - s[l - 1]<<'\n';
continue;
}
if(l % (x) == 0){
l ++;
sum += s[x] - s[x - 1];
}
if(r <= l + ((x) - (l % (x)))){
if(r % (x) != 0)cout<<s[r % (x)] - s[(l % (x)) - 1]<<'\n';
else cout<<s[x] - s[(l % (x)) - 1]<<'\n';
continue;
}
int z = l % (x);
int z1 = r % (x);
r -= r % (x);
l += ((x) - (l % (x)));
sum = ((r - l) / (x)) * s[x];
sum += s[(x)] - s[z - 1];
sum += s[z1] - s[0];
cout<<sum<<'\n';
}
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T;
T = 1;
while(T --){
solve();
}
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3480kb
input:
15 2 1 4 11 4514
output:
2 2252
result:
ok 2 lines
Test #2:
score: 0
Accepted
time: 18ms
memory: 3552kb
input:
500696 100000 110442401300 646889080214 337192 670162015551 508011001649 508011014425 94418501628 94418501634 824168677375 824168677376 732815842309 795402573302 353241304050 846773277757 622033633276 622033633284 760381702139 760381702143 207714 795408271057 382792 952061527685 686173 331215904334 ...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok 100000 lines
Test #3:
score: 0
Accepted
time: 16ms
memory: 3532kb
input:
465262 100000 119442423888 249533375982 528365238401 528365275157 654839906300 654839906303 135820863700 135820967840 336231 918143221477 568175915485 568176067832 993015103483 993015103488 951474 444595379179 298623434750 298623434751 257961 410491919396 996297715292 996297994388 17765498878 177654...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok 100000 lines
Test #4:
score: 0
Accepted
time: 14ms
memory: 3612kb
input:
599394 100000 683408 868635908987 347999512025 347999739145 740945 377178907084 399211757563 399211757568 766968 548821086083 630762 702128377806 756554924031 756554924036 904713771313 904714518208 17026878789 17027129255 11601638470 206412869961 253365321722 253365321730 785476956554 785477402085 2...
output:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
result:
ok 100000 lines
Test #5:
score: -100
Wrong Answer
time: 20ms
memory: 3632kb
input:
255255 100000 693776785134 693776920782 174578728959 174578728960 109045569231 631173362385 470661333171 470661439492 401883 183360880923 436203696728 436203931780 165055 339075075373 640081 299360395352 864237441330 864237509663 730335563579 730335652091 194265481215 194265481219 40664920117 406649...
output:
48291 1 185923734469 37861 65292569108 83696 120740696845 106598584435 24331 31531 1 13599 28047 259941767307 52458927165 3 46128244849 4 175172489320 3 47772 257896064176 327099648974 3 22478 54792 46334735154 45620596151 94458239051 55144 1 152102534743 0 109603486841 91139743526 144745947985 2 19...
result:
wrong answer 1st lines differ - expected: '48406', found: '48291'