Graf_Rav

http://codeforces.com/contest/982/problem/B

May 17th, 2018
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <stack>
  4.  
  5. using namespace std;
  6.  
  7. int main(){
  8.     int n;
  9.     cin>>n;
  10.    
  11.     vector< vector<int> > sid(n, vector<int>(2, 0));
  12.     for(int i=0;i<n;i++){
  13.         cin>>sid[i][0];
  14.         sid[i][1]=i+1;
  15.     }
  16.    
  17.     for(int i=0;i<n;i++){
  18.         for(int j=i+1;j<n;j++){
  19.             if(sid[i][0]>sid[j][0]){
  20.                 swap(sid[i][0], sid[j][0]);
  21.                 swap(sid[i][1], sid[j][1]);
  22.             }
  23.         }
  24.     }
  25.    
  26.     stack< vector<int> > q;
  27.    
  28.     int ped=0;
  29.    
  30.     char a;
  31.     for(int i=0;i<2*n;i++){
  32.         cin>>a;
  33.         if(a=='0'){
  34.             q.push(sid[ped]);
  35.             cout<<q.top()[1]<<' ';
  36.             ped++;
  37.         }
  38.         else{
  39.             cout<<q.top()[1]<<' ';
  40.             q.pop();
  41.         }
  42.     }
  43. }
Add Comment
Please, Sign In to add comment