Submission #228160

# Submission time Handle Problem Language Result Execution time Memory
228160 2020-04-30T05:38:29 Z blacktulip Football (info1cup20_football) C++17
100 / 100
64 ms 2040 KB
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long lo;
typedef pair< lo,lo > PII;
 
#define fi first
#define se second
#define mp make_pair
#define int long long
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)
 
const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 1000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 500005;
const lo mod = 1000000007;
 
int n,m,b[li],a[li],k,flag,t,mpp[40];
int cev;
string s;
vector<int> v;

int32_t main(void){
	scanf("%lld",&t);
	while(t--){
		memset(mpp,0,sizeof(mpp));
		scanf("%lld %lld",&n,&k);
		cev=0;
		for(int i=1;i<=n;i++){
			scanf("%lld",&a[i]);
			cev+=a[i];
		}
		if(cev%2==1){printf("1");continue;}
		if(k==2 || k==3){
			if(cev%2==1){printf("1");continue;}
			//~ if(cev==n){printf("0");continue;}
			int cev1=0;
			for(int i=1;i<=n;i++){
				cev1+=a[i]/2;
			}
			if(cev1%2==1){printf("1");continue;}
			printf("0");continue;
		}
		if(k==1){
			if(cev%2==0){
				printf("0");
			}
			else printf("1");
			continue;
		}
		//~ int cev1=0,cev2=0,cev3=0,cev4=0,cev5=0,cev6=0;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=35;j++){
				if((1ll<<j)>k)break;
				mpp[j]+=a[i]/(1ll<<j);
			}
		}
		flag=0;
		for(int j=1;j<=35;j++){
			if(mpp[j]%2==1){printf("1");flag=1;break;}
		}
		if(flag)continue;
		printf("0");continue;
	}
	return 0;
}
 

Compilation message

football.cpp: In function 'int32_t main()':
football.cpp:32:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&t);
  ~~~~~^~~~~~~~~~~
football.cpp:35:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld",&n,&k);
   ~~~~~^~~~~~~~~~~~~~~~~~~
football.cpp:38:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%lld",&a[i]);
    ~~~~~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 24 ms 512 KB Output is correct
2 Correct 23 ms 512 KB Output is correct
3 Correct 24 ms 512 KB Output is correct
4 Correct 24 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 256 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 256 KB Output is correct
4 Correct 4 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 384 KB Output is correct
2 Correct 17 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 39 ms 384 KB Output is correct
2 Correct 39 ms 512 KB Output is correct
3 Correct 39 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 63 ms 256 KB Output is correct
2 Correct 64 ms 2040 KB Output is correct
3 Correct 62 ms 2040 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 23 ms 384 KB Output is correct
2 Correct 23 ms 512 KB Output is correct
3 Correct 24 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 33 ms 512 KB Output is correct
2 Correct 30 ms 1408 KB Output is correct
3 Correct 37 ms 1420 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 29 ms 512 KB Output is correct
2 Correct 38 ms 1408 KB Output is correct