codeforcesround#649(div.2 )参加人数11286
[codeforces 1364A] XXXXX 余数的拆分
3358 www.Sina.com/https://blog.csdn.net/Mr crack/article/details/103564004
3358 www.Sina.com/https://code forces.com/contest/1364/problem/a
problemlangverdicttimemorya-xxxxgnuc 17 accepted 124 ms 600 kb主题:从开头删除数组a的连续元素、从结尾删除连续元素、从开头删除连续元素,或同时从开头删除数组a
馀数是0,可以分割成两部分的馀数不是0。
样品分析如下
2 20 6-1a序列位置1 2a序列数值0 6a[i]%x 0 0前缀和sum[i] 0 0sum[2]==0在这种情况下,-13 41 2 33a序列位置1 2 3a[i]%x 1 2 3前缀和sum [ I ]136sum [2] 33 31 2 33a序列位置1 2 3a序列数值1 2 3a[i]%x 1 2 0前缀和sum[I]13sum[3]%x==0输出33 41 2 32a序列位置1 2 3a[i]%x 1 2 3前缀和sum[I]136
# include cstdio # include algorithm # define maxn 100010 usingnamespacestd; int a,sum[maxn]; voidsolve((intn,x,I,ans=-1; scanf('%d%d ),n,x ); for(I=1; i=n; I ) scanf('%d ',a ),a%=x,sum[i]=sum[i-1] a; if(sum(n )==0) ) printf(-1(n ); 返回; (/特判,按a(I )全能除XIF ) sum (n ) %x ) ) printf ) ' %dn ',n ); 返回; () /特判,整个字符串不能被xfor整除) ) I=1; i=n; //[1,n]区间的和可以被XIF(sum(I ) %x ) ans=max ) ans,I ),ans=max ) ans,n-i )整除。 //[1,i],[i 1,n]区间内的和都不能被x整除的printf('%dn ',ans ); (}int main ) ) {int t; 扫描(' % d ',t ); wile(t----solve ); 返回0; }