제출 #524888

#제출 시각아이디문제언어결과실행 시간메모리
524888maks007Football (info1cup20_football)C++14
34 / 100
507 ms1048580 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

int32_t main(void) {
	int t;
	cin >> t;
	while(t --) {
		int n, k;
		cin >> n >> k;
		vector <int> a(n);
		for(int i = 0; i < n; i ++) cin >> a[i];
		if(n == 1) {

			vector <int> dp(a[0]+1, (int)1e9+7);
			dp[1] = 1;
			for(int i = 1; i <= a[0]; i ++) {
				for(int j = 1; j <= k; j ++) {
					if((i - j) >= 0) {
						if((dp[i - j] + 1) % 2 == 1) {
							dp[i] = dp[i - j] + 1;
						}
					}
				}
			}
			cout << 1 - ((dp[a[0]])%2);
			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;
}

컴파일 시 표준 에러 (stderr) 메시지

football.cpp: In function 'int32_t main()':
football.cpp:39: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]
   39 |   for(int i = 0; i < a.size(); i ++) {
      |                  ~~^~~~~~~~~~
football.cpp:43: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]
   43 |   for(int i = 0; i < a.size(); i ++) {
      |                  ~~^~~~~~~~~~
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…