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 }

 

posted @ 2020-04-16 16:15  bonel  阅读(143)  评论(0)    收藏  举报