QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#104632#5374. 数圈themoon60 45ms1588kbC++141.3kb2023-05-11 14:09:592023-05-11 14:10:00

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-05-11 14:10:00]
  • 评测
  • 测评结果:60
  • 用时:45ms
  • 内存:1588kb
  • [2023-05-11 14:09:59]
  • 提交

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%