2020.04.12个人赛补题
A.Balloons
题意:整体是否可以分为两个总和不同的数组
1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstdio> 5 using namespace std; 6 int main(){ 7 __int64 sum=0,sumz=0,sumy=0; 8 int n,flag=-1; 9 int a[12]; 10 scanf("%d",&n); 11 for(int i=0;i<n;i++){ 12 scanf("%d",&a[i]); 13 sum+=a[i]; 14 } 15 if(n==1||(n==2&&a[0]==a[1])){ 16 printf("-1\n"); 17 18 }else{ 19 for(int i=0;i<n-1;i++){ 20 sumz+=a[i]; 21 sum-=a[i]; 22 sumy++; 23 if(sumz!=sum){ 24 flag=i; 25 break; 26 } 27 } 28 if(flag==-1){ 29 printf("-1\n"); 30 }else{ 31 printf("%d\n",sumy); 32 for(int i=0;i<=flag;i++){ 33 printf("%d ",i+1); 34 } 35 } 36 } 37 }
D.Sonya and Hotels
题意:简单数学,中间间隔和所给间隔的关系
1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstdio> 5 using namespace std; 6 int main(){ 7 long long int a[110],sum=0,len=0; 8 int n,d; 9 scanf("%d %d",&n,&d); 10 for(int i=0;i<n;i++){ 11 scanf("%lld",&a[i]); 12 } 13 sum+=2; 14 for(int i=0;i<n-1;i++){ 15 len=a[i+1]-a[i]; 16 if(len==2*d) sum++; 17 if(len>2*d) sum+=2; 18 } 19 printf("%lld\n",sum); 20 }
E.Sonya and Exihibition
题目:简单逻辑,直接输出010101....即可
1 #include<iostream> 2 #include<algorithm> 3 #include<cmath> 4 #include<cstdio> 5 #include<cstring> 6 using namespace std; 7 pair<int,int> a[1010]; 8 int main(){ 9 int n,m,j=0; 10 scanf("%d %d",&n,&m); 11 for(int i=0;i<m;i++){ 12 scanf("%d %d",&a[i].first,&a[i].second); 13 } 14 15 for(int i=0;i<n;i++){ 16 if(i%2==0){ 17 printf("0"); 18 }else{ 19 printf("1"); 20 } 21 22 } 23 24 }