QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#104632 | #5374. 数圈 | themoon | 60 | 45ms | 1588kb | C++14 | 1.3kb | 2023-05-11 14:09:59 | 2023-05-11 14:10:00 |
Judging History
answer
#include<cstdio>
typedef long long LL;
const int N=1e5+5;
int n;
int pre[N];
inline int Read(){
char ch;
int f=1;
while((ch=getchar())<'0'||ch>'9')
if(ch=='-') f=-1;
int x=ch^48;
while((ch=getchar())>='0'&&ch<='9')
x=(x<<3)+(x<<1)+(ch^48);
return x*f;
}
inline void print(LL x){
if(x>=10) print(x/10);
putchar(x%10+48);
return ;
}
inline void Print(LL x,char ch='\n'){
if(x<0){
putchar('-');
print(-x);
}
else print(x);
putchar(ch);
return ;
}
inline void Init(){
n=Read();
for(int i=1;i<=n;i++){
int x=Read();
pre[i]=pre[i-1]+x;
}
return ;
}
LL ans;
inline void Solve(){
if(pre[n]<0){
puts("-1");
return ;
}
if(pre[n]==0){
for(int i=1;i<=n;i++)
if(pre[i]!=0){
puts("-1");
return ;
}
puts("0");
return ;
}
ans=0;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++){
if(pre[i]==pre[j]) continue ;
if(pre[i]>pre[j]){
int sub=pre[i]-pre[j];
ans+=(sub-1)/pre[n]+1;
}
else if(pre[j]>pre[i]+pre[n]){
int sub=pre[j]-(pre[i]+pre[n]);
ans+=(sub-1)/pre[n]+1;
}
}
return Print(ans);
}
int T;
#include<ctime>
int main(){
//#define LOCAL
#ifdef LOCAL
int st=clock();
#endif
for(T=Read();T;T--){
Init();
Solve();
}
#ifdef LOCAL
int en=clock();
printf("cost %d ms\n",en-st);
#endif
return 0;
}
詳細信息
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 0ms
memory: 1424kb
input:
10 3 2 -9 -4 3 4 6 0 3 3 -10 0 3 7 -6 3 3 -6 7 10 3 -3 9 -2 3 6 1 -2 3 5 2 -2 3 -9 -5 7 3 -4 -5 6
output:
-1 0 -1 3 1 4 2 1 -1 -1
result:
ok 10 lines
Subtask #2:
score: 20
Accepted
Dependency #1:
100%
Accepted
Test #2:
score: 20
Accepted
time: 1ms
memory: 1484kb
input:
10 50 -5 -5 3 8 0 0 3 8 5 -7 6 -9 5 5 2 7 -9 1 -7 5 0 10 -6 -2 -6 -8 9 7 4 3 -9 9 5 9 8 1 7 0 0 -5 -1 -3 5 -7 5 -4 6 8 -1 1 50 -6 4 3 -6 -9 -8 -5 -2 -10 7 -4 1 -1 -5 2 1 -10 8 8 7 -8 -5 3 -6 10 3 2 -1 10 0 4 -6 9 3 -6 3 9 -4 4 -2 -3 4 -9 -7 7 1 5 2 -4 5 50 2 -10 5 3 -1 1 9 -1 -5 3 -2 -10 7 0 5 -5 -1...
output:
161 -1 249 -1 21873 -1 452 -1 -1 314
result:
ok 10 lines
Subtask #3:
score: 30
Accepted
Dependency #2:
100%
Accepted
Test #3:
score: 30
Accepted
time: 45ms
memory: 1588kb
input:
10 2000 -4438 -448 2902 3873 -5348 1821 -5284 2787 -1369 -4712 3298 2808 1651 -4568 4377 870 2217 -2683 1217 120 -3854 1156 -2129 -3757 -2704 3026 -1745 -5327 -1315 405 3944 340 -1510 2213 -24 -32 -5414 -2330 760 3715 -4871 2831 1917 3148 1360 -3662 -4281 -1248 788 1334 -3401 2050 4174 3163 -2456 33...
output:
90206708583 9272643195 2640993721 148400379 20504656 2904294 -1 6666669000000 61998 67150
result:
ok 10 lines
Subtask #4:
score: 0
Time Limit Exceeded
Test #4:
score: 0
Time Limit Exceeded
input:
10 30000 -3879 -556 4570 1863 2815 -4010 2471 -270 2835 3071 -3331 -1251 -2243 4221 -5249 -4134 3376 1978 858 2545 -4207 386 3875 2029 1706 1119 3065 -3097 4399 4385 -3021 2473 2506 2157 3946 -886 3929 1478 2728 -4239 4091 -151 -4762 -2136 -1424 2162 -669 267 190 -1180 2640 -757 -2078 -1409 3165 216...
output:
result:
Subtask #5:
score: 0
Skipped
Dependency #4:
0%
Subtask #6:
score: 0
Skipped
Dependency #5:
0%
Subtask #7:
score: 0
Skipped
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Dependency #3:
100%
Accepted
Dependency #4:
0%