ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#194312 | #3414. 等差数列 | JiangZiCheng2010 | 100 | 36ms | 516kb | C++ | 573b | 2023-10-15 10:39:57 | 2023-10-15 12:27:56 |
answer
#include<cstdio>
#define min(a,b) ((a)<(b)?(a):(b))
long long n,a,sum,m,g;
long long gcd(long long a,long long b)
{
if(!b)return a;
return gcd(b,a%b);
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
scanf("%lld",&n);
for(register int i=0;i^n;++i)
{
scanf("%lld",&a);
sum+=a;
}
m=n*(n+1)/2;
g=gcd(m,n);
printf("%lld",min(sum%g,g-(sum%g)));
return 0;
}
/*
数列和=(首项+末项)*项数/2
sum=(s+d+s+n*d)*n/2
=(2*s+(n+1)*d)*n/2
=n*s+n*(n+1)/2*d
=n*s+m*d
=k1*g*s+k2*g*d
=(k1*s+k2*d)*g
*/
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 508kb
input:
10 5 4 2 3 3 1 1 2 1 1
output:
2
result:
ok single line: '2'
Test #2:
score: 10
Accepted
time: 0ms
memory: 516kb
input:
9 5 0 4 2 3 4 1 1 2
output:
4
result:
ok single line: '4'
Test #3:
score: 10
Accepted
time: 0ms
memory: 512kb
input:
8 1 0 1 5 2 1 1 3
output:
2
result:
ok single line: '2'
Test #4:
score: 10
Accepted
time: 0ms
memory: 516kb
input:
9010 10 13 9 5 1 16 11 10 9 0 1 15 7 12 0 2 8 20 13 16 19 9 18 16 3 15 2 19 3 7 2 19 17 18 3 14 16 2...
output:
1336
result:
ok single line: '1336'
Test #5:
score: 10
Accepted
time: 0ms
memory: 516kb
input:
511 18 14 19 9 4 19 17 9 14 17 16 17 16 5 20 20 1 13 0 9 4 10 13 16 7 11 4 3 20 19 6 14 18 1 8 17 12...
output:
58
result:
ok single line: '58'
Test #6:
score: 10
Accepted
time: 0ms
memory: 512kb
input:
1000 14 18 20 14 17 17 12 15 7 5 20 18 14 15 2 13 18 14 16 7 11 6 18 16 3 3 3 16 16 1 12 12 11 16 3 ...
output:
125
result:
ok single line: '125'
Test #7:
score: 10
Accepted
time: 14ms
memory: 512kb
input:
100000 487226969 457282779 405894670 507533594 752274125 691586010 899032024 977434663 549675232 670...
output:
21795
result:
ok single line: '21795'
Test #8:
score: 10
Accepted
time: 11ms
memory: 508kb
input:
99999 910117004 226112810 689456274 981491037 882117040 962190328 363339027 851861175 830129398 6518...
output:
13785
result:
ok single line: '13785'
Test #9:
score: 10
Accepted
time: 11ms
memory: 512kb
input:
99824 806648101 561706280 619418755 463645466 392810359 655120318 721691580 866225896 49402289 57677...
output:
15593
result:
ok single line: '15593'
Test #10:
score: 10
Accepted
time: 0ms
memory: 512kb
input:
14234 57476255 821933964 604566231 906210451 472885299 646948133 912526078 895605300 382635721 55351...
output:
3209
result:
ok single line: '3209'
Extra Test:
score: 0
Extra Test Passed