# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
500858 | 2022-01-01T13:28:42 Z | EliteCallsYou | Bootfall (IZhO17_bootfall) | C++17 | 0 ms | 292 KB |
# include <bits/stdc++.h> using namespace std ; //############################################################################ # define read(a)/**/for(int i=0;i<int(sizeof(a)/sizeof(a[0]));i++){cin>>a[i];} # define print(x)/**/for(auto zx:x){cout<<zx<<' ';} const char* tochar(string a){return a.c_str();} void files(){freopen("planting.in","r",stdin);freopen("planting.out","w",stdout);} void speed(){ios_base::sync_with_stdio(false);cin.tie(0);} long long gcd(long long a,long long b){if(!b){return a;}a%=b;return gcd(b,a);} long long lcm(long long a,long long b){return a /gcd(a,b) * b;} //########################################################################### const int N = 3e5 + 5 ; const long long MOD = 1e17+7 ; //########################################################################### void hack(){} //########################################################################### int main(){ int n, sum = 0 ; cin >> n ; int ar[n+1] ; for ( int i = 1 ; i <= n ; i ++ ){ cin >> ar[i] ; sum += ar[i] ; } if ( sum%2 ){ cout << "0\n"; return 0 ; } bool dp[n+1][sum+1] = {false} ; for ( int i = 0 ; i <= n ; i ++ ){ dp[i][0] = true ; for ( int it = 1 ; it <= n ; it ++ ){ if ( it == i ){continue;} for ( int j = sum-ar[it] ; j > -1 ; j -- ){ if ( dp[i][j] ){ dp[i][j+ar[it]] = true ; } } } } if ( !dp[0][sum/2] ){ cout << "0\n" ; return 0 ; } vector < int > ans ; for ( int cur = 1 ; cur <= sum ; cur ++ ){ bool ok = true ; for ( int j = 1 ; j <= n ; j ++ ){ int s = sum-ar[j]+cur ; if ( s%2 || s < 0 ){ ok = false ; break ; } if ( !dp[j][s/2] ){ ok = false ; break ; } } if ( ok ){ ans.push_back(cur) ; } } cout << ans.size() << '\n' ; for ( auto it : ans ){ cout << it << ' ' ; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 292 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Incorrect | 0 ms | 204 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 292 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Incorrect | 0 ms | 204 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 292 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Incorrect | 0 ms | 204 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 292 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Incorrect | 0 ms | 204 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 292 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Incorrect | 0 ms | 204 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 292 KB | Output is correct |
2 | Correct | 0 ms | 204 KB | Output is correct |
3 | Incorrect | 0 ms | 204 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |