天天看點

Codeforces Round #693 (Div. 3) (A、B、C、D)題解

Codeforces Round #693 (Div. 3) (A、B、C、D)題解
#include <bits/stdc++.h>
 
using namespace std;
long long t,a,b,ans,n;
int main()
{
    scanf("%lld",&t);
    while(t--)
    {
        scanf("%lld %lld %lld",&a,&b,&n);
        ans=1;
        while(a%2==0)
        {
            ans*=2;
            a/=2;
        }
        while(b%2==0)
        {
            ans*=2;
            b/=2;
        }
        if(ans>=n)
            printf("YES\n");
        else
            printf("NO\n");
    }
    return 0;
}
           
Codeforces Round #693 (Div. 3) (A、B、C、D)題解
#include <bits/stdc++.h>
 
using namespace std;
int t,n,falg,sum,d;
int main()
{
    scanf("%lld",&t);
    while(t--)
    {
       sum=0;falg=0;
       scanf("%d",&n);
       for(int i=0;i<n;i++)
       {
           scanf("%d",&d);
           sum+=d;
           if(d==1)falg=1;
       }
       if(sum%2!=0)
       {
           printf("NO\n");
           continue;
       }
       else if(sum%2==0&&(sum/2)%2==0)
       {
           printf("YES\n");
           continue;
       }
       else if(sum%2==0&&(sum/2)%2!=0&&falg)
       {
           printf("YES\n");
           continue;
       }
       else if(sum%2==0&&(sum/2)%2!=0&&!falg)
       {
           printf("NO\n");
           continue;
       }
    }
    return 0;
}
           
Codeforces Round #693 (Div. 3) (A、B、C、D)題解
#include <bits/stdc++.h>
 
using namespace std;
int t,n;
long long a[200005],b[200005];
int main()
{
   scanf("%d",&t);
   while(t--)
         {
       scanf("%d",&n);
       for(int i=1;i<=n;i++)
        scanf("%lld",&a[i]);
       for(int i=n;i>=1;i--)
       {
           if(i+a[i]>n)b[i]=a[i];
           else
           {
               b[i]=a[i]+b[i+a[i]];
           }
       }
       sort(b+1,b+n+1);
       printf("%lld\n",b[n]);
   }
    return 0;
}
           
Codeforces Round #693 (Div. 3) (A、B、C、D)題解
#include <bits/stdc++.h>
 
using namespace std;
int t,n;
long long a[200005],sum1,sum2;
int main()
{
    scanf("%d",&t);
    while(t--)
    {
        sum1=sum2=0;
        scanf("%d",&n);
        for(int i=0;i<n;i++)
            scanf("%lld",&a[i]);
        sort(a,a+n,greater<long long>());
        for(int i=0;i<n;i++)
        {
            if(i%2==0)
            {
                if(a[i]%2==0)
                    sum1+=a[i];
            }
            else
            {
                if(a[i]%2!=0)
                    sum2+=a[i];
            }
        }
        if(sum1>sum2)printf("Alice\n");
        if(sum1<sum2)printf("Bob\n");
        if(sum1==sum2) printf("Tie\n");
    }
    return 0;
}
           

繼續閱讀