Advertisement
Josif_tepe

Untitled

Feb 6th, 2023
478
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <map>
  4. using namespace std;
  5.  
  6.  
  7.  
  8. int main()
  9. {
  10.     int n, k;
  11.     cin>>n >> k;
  12.     int m;
  13.     cin>>m;
  14.     if(n > 100) {
  15.         return 0;
  16.     }
  17.     vector<int> req(k + 1, 0);
  18.    
  19.     vector<int>v;
  20.    
  21.     for(int i=0; i<n; i++){
  22.         int a;
  23.         cin>>a;
  24.         v.push_back(a);
  25.     }
  26.     int zbir=0;
  27.     for(int j=0; j<m; j++){
  28.     int a, b;
  29.     //a brojot sto go barame // b za kolicina
  30.     cin>>a>>b;
  31.         req[a] = b;
  32.     zbir+=b;
  33.     }
  34.  
  35.     int min_length=2e9;
  36.     int tmp=0;
  37.     vector<int> t = req;
  38.    
  39.     for(int i=0; i<v.size(); i++){
  40.         for(int j=0; j<v.size(); j++){
  41.             tmp = 0;
  42.             req = t;
  43.             for(int k=i; k<=j; k++){
  44.                         if(req[v[k]]>0){
  45.                             req[v[k]]--;
  46.                            
  47.                         }
  48.                 bool ok = true;
  49.                 for(int x = 0; x < req.size(); x++) {
  50.                     if(req[x] != 0) {
  51.                         ok = false;
  52.                         break;
  53.                     }
  54.                    
  55.                 }
  56.                 if(ok) {
  57.                     min_length = min(min_length, j - i + 1);
  58.                 }
  59.             }
  60.         }
  61.     }
  62.     if(min_length == 2e9) {
  63.         cout << "impossible";
  64.     }
  65.     else
  66.     cout << min_length << endl;
  67.     return 0;
  68. }
  69. /*
  70.  5 2 2
  71.  0 1 1 0 1
  72.  0 1
  73. 1 1
  74.  
  75.  13 4 3
  76.  1 1 3 2 0 1 2 0 0 0 0 3 1
  77.  0 2
  78.  2 1
  79.  1 2
  80.  
  81.  5 3 1
  82.  1 2 0 1 2
  83.  0 2
  84.  **/
  85.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement