QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#201339 | #5154. ETA | S_Explosion# | WA | 1ms | 3884kb | C++20 | 1.2kb | 2023-10-05 13:48:54 | 2023-10-05 13:48:54 |
Judging History
answer
#include <bits/stdc++.h>
#define int long long
using namespace std;
int a,b;
inline int read(){
int ret=0,ff=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')ff=-1;ch=getchar();}
while(isdigit(ch)){ret=ret*10+(ch^48);ch=getchar();}
return ret*ff;
}
signed main(){
a=read(),b=read();
int g=__gcd(a,b);
a/=g,b/=g;
for(int i=1;i*b<=1000000;i++){
int tot=i*a;
if(tot>=i*b-1&&tot<=i*b*(i*b-1)/2){
printf("%lld %lld\n",i*b,i*b-1);
for(int j=1;j<i*b;j++){
if(tot>=j*(j-1)/2&&tot<=j*(j+1)/2){
for(int k=1;k<j;k++){
printf("%lld %lld\n",k,k+1);
}
int rem=tot-(j*(j-1)/2)-(i*b-j);
for(int k=1;k<=i*b-j;k++){
if(rem){
printf("%lld %lld\n",j+k,min(j-1,rem)+1);
rem-=min(j-1,rem);
}
else printf("%lld %lld\n",j+k,1ll);
}
}
}
return 0;
}
}
printf("impossible");
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3728kb
input:
1/2
output:
2 1 2 1
result:
ok
Test #2:
score: 0
Accepted
time: 1ms
memory: 3792kb
input:
1/3
output:
impossible
result:
ok
Test #3:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
7/4
output:
8 7 1 2 2 3 3 4 4 5 6 2 7 1 8 1
result:
ok
Test #4:
score: -100
Wrong Answer
time: 0ms
memory: 3884kb
input:
974/975
output:
975 974 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 45 -902 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 ...
result:
wrong answer Integer parameter [name=y] equals to -902, violates the range [1, 975]