Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int N = 1e2 + 10;
- const int S = 5e2 + 10;
- int ar[N];
- int n, sum;
- int main(){
- scanf("%d", &n);
- for(int i=1;i<=n;i++){
- scanf("%d", &ar[i]);
- sum += ar[i];
- }
- if(sum % 3 != 0){
- printf("noob");
- return 0;
- }
- sum /= 3;
- int dp[2][sum + 10][sum + 10];
- for(int a = 0; a <= sum; a ++){
- for(int b = 0; b <= sum; b ++){
- dp[0][a][b] = false;
- }
- }
- dp[0][0][0] = true;
- for(int i = 1; i <= n; i ++){
- int prev = (i - 1) % 2;
- int cur = i % 2;
- for(int a = 0; a <= sum; a ++){
- for(int b = 0; b <= sum; b ++){
- bool tf = false;
- tf = dp[prev][a][b];
- if(a >= ar[i]) tf |= dp[prev][a - ar[i]][b];
- if(b >= ar[i]) tf |= dp[prev][a][b - ar[i]];
- dp[cur][a][b] = tf;
- }
- }
- }
- bool ans = false;
- int cur = n % 2;
- if(dp[cur][sum][sum]) printf("mission complete");
- else printf("noob");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement