답안 #612696

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
612696 2022-07-29T20:37:33 Z karelisp Kpart (eJOI21_kpart) C++14
0 / 100
1383 ms 324 KB
#include <bits/stdc++.h>
using namespace std;

int T, N, a[1005], ps[1005];

int main(){
	scanf("%d", &T);
	while(T--){
		scanf("%d", &N);

		for(int i=1; i<=N; i++){
			scanf("%d", &a[i]);
			ps[i] = ps[i-1] + a[i];
		}

		vector<int> ans;
		for(int K=2; K<=N; K++){
			bitset<50005> sums;
			sums[0] = true;
			bool is_Kary = true;
			for(int right=1; right<=N && is_Kary; right++){
				sums |= sums<<a[right];
				if(right<K) 
					continue;

				int cur_sum = ps[right] - ps[right-K];
				if(cur_sum%2 || sums[cur_sum/2]==false){
					is_Kary = false;
				}
				
				sums &= sums>>a[right-K+1];
			}
			
			if(is_Kary)
				ans.push_back(K);
		}

		printf("%ld ", ans.size());
		for(auto K : ans) printf("%d ", K);
		printf("\n");
	}
	return 0;
}

Compilation message

Main.cpp: In function 'int main()':
Main.cpp:7:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 |  scanf("%d", &T);
      |  ~~~~~^~~~~~~~~~
Main.cpp:9:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    9 |   scanf("%d", &N);
      |   ~~~~~^~~~~~~~~~
Main.cpp:12:9: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |    scanf("%d", &a[i]);
      |    ~~~~~^~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 12 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 73 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1383 ms 324 KB Output isn't correct
2 Halted 0 ms 0 KB -