Advertisement
erfanul007

UVa 10930

Sep 12th, 2021
727
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long int
  5.  
  6. int main(){
  7.     #ifdef ERFANUL007
  8.         clock_t tStart = clock();
  9.         freopen("input.txt", "r", stdin);
  10.         freopen("output.txt", "w", stdout);
  11.     #endif
  12.  
  13.     int n, cs=0;
  14.  
  15.     while(cin >> n){
  16.         int a[n], sum = 0;
  17.  
  18.         cout << "Case #" << ++cs << ":";
  19.         for(int i=0; i<n; i++){
  20.             cin >> a[i];
  21.             cout << ' ' << a[i];
  22.             sum += a[i];
  23.         }
  24.         cout << '\n';
  25.  
  26.         bool f = true;
  27.         if(a[0] < 1) f = false;
  28.         for(int i=1; i<n; i++){
  29.             if(a[i] <= a[i-1]) f = false;
  30.         }
  31.         if(!f){
  32.             cout << "This is not an A-sequence.\n";
  33.             continue;
  34.         }
  35.  
  36.         bool ache[sum + 2];
  37.         memset(ache, 0, sizeof(ache));
  38.         ache[0] = 1;
  39.         for(int i=0; i<n && f; i++){
  40.             if(ache[a[i]]) f = false;
  41.             for(int j=sum; j>=a[i] && f; j--){
  42.                 if(ache[j - a[i]]) ache[j] = 1;
  43.             }
  44.         }
  45.         if(f) cout << "This is an A-sequence.\n";
  46.         else cout << "This is not an A-sequence.\n";
  47.     }
  48.  
  49.     #ifdef ERFANUL007
  50.         fprintf(stderr, ">>> Runtime : %.9f\n", (double)(clock() - tStart)/CLOCKS_PER_SEC);
  51.     #endif
  52.  
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement