3 2 100 400 905 1405 200

100-400 = -300 905 - (-300) = 1205 5 1 1 2 3 4 5 = 15 2

13

70 150 400 450 575 所有数字之和减去最小值的2倍

取余
%10 结果一定在10以内
long long sum minm = 10000000; for(){ cin>>a; minm = min(minm,a); sum+=a; } sum-=2*minm; k==1 cout abs(sum)
else cout minm

第二题

字典序最小的字符串 abc 字典序小的
acb

他给的这个字符串 一定能改成 最多有两个地方要改

如果说有2个位置不一样 按字典序小的位置 去改两个位置

decab -> bacab 1个位置不同 不同的两个都要改-> a dacab -> aacaa

没有不同

最边上的不是a的改a
aaaabaaaa aaaabbaaaa

s = " " + s ; s.substr(1); 1开始用

第三题

3 1 2 3 1 2 1 3

1 2 3 最多是 n-1个

N =2e6 n a[2e6]; bool flag[2e6], int prime[2e6],cnt; void f(){ //质数筛
for(int i=2;i<N;i++){ if(!flag[i]){ prime[++cnt] = i } for(int j=1;j<=cnt && iprime[j]<N;j++){ flag[iprime[j]] =1; if(i%prime[j]==0) break; } } }

f(); for(1~n) a[i]; ans = n-1 u v for(1~n-1){ cin>>u>>v; if(flag[a[u]+a[v]]) ans--; } cout ans;

0 条评论

目前还没有评论...