Submission #524985

#TimeUsernameProblemLanguageResultExecution timeMemory
524985maks007Football (info1cup20_football)C++14
34 / 100
503 ms460 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
#define int long long
 
int f= 0 ;

void primes(int n) {
	for (int i = 2; i * i <= n; i++) {
	while (n % i == 0) {
		if(i % 2 == 1) f = 1;
	    n /= i;  
	  }
	}
	if (n > 1) {
		f = 1;
	}
}


int32_t main(void) {
	int t;
	cin >> t;
	while(t --) {
		int n, k;
		n = 1;cin >> n >> k;
		vector <int> a(n);
		for(int i = 0; i < n; i ++) cin >> a[i];
		
		if(n == 1) {
			
			// int ans = 0;
			// int prev = k;
			// int n = a[0];
			// while(n > 0) {
			// 	for(int i = 1; i <= prev; i ++) {
			// 		if(n % i == 0 and (n/i)%2==1 and n - i >= 0) {
			// 			n-=i;
			// 			prev = i;
			// 			ans = 1 - ans;
			// 			break;
			// 		}
			// 	}
			// 	break;
			// }
			// int n = a[0];
			// if(n & 1) {
			// 	cout << 1;
			// 	continue;
			// }
			// for(int i = 1; i<= k; i ++) {
			// 	if((n % i == 0 and (n/i)%2 == 1)) {
			// 		cout << 1;
			// 		goto end;
			// 	}
			// }
			// cout << 0;
			// end:;
			int n = a[0];
			if(n%2==1) {
				cout<<1;
				continue;
			}
			primes(n);
			if(f) {
				if(k >= 2) {
					cout << 1;
				}else cout << 0;
			}else cout << 0;
			continue;
		}
		if(k == 1) {
			int sum = accumulate(a.begin(), a.end(), 0ll);
			if(sum % 2 == 1) {
				cout << 1;
			}else cout << 0;
			continue;
		}
		int sum = 0;
		for(int i = 0; i < a.size(); i ++) {
			if(a[i] % 2 == 1) sum += 1;
		}
		int move = 0;
		for(int i = 0; i < a.size(); i ++) {
			move += (int)(a[i] / 2);
		}
		if(move % 2 == 0) {
			if(sum % 2 == 1) {
				cout << 1;
			}else cout << 0;
		}else {
			if(sum % 2 == 0) cout << 1;
			else cout << 0;
		}
 
	}
	return false;
}

Compilation message (stderr)

football.cpp: In function 'int32_t main()':
football.cpp:81:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   81 |   for(int i = 0; i < a.size(); i ++) {
      |                  ~~^~~~~~~~~~
football.cpp:85:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   85 |   for(int i = 0; i < a.size(); i ++) {
      |                  ~~^~~~~~~~~~
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...