Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[100007],n;
  4. map<int,int>mp1,mp2;
  5. int main()
  6. {
  7.     int c=0;
  8.     stack<int>s;
  9.     vector<int>v;
  10.     map<int, int>::iterator it;
  11.     scanf("%d",&n);
  12.     int f=0;
  13.     for(int i=0; i<n; ++i)
  14.     {
  15.         scanf("%d",&a[i]);
  16.  
  17.     }
  18.     for(int i=0; i<n; ++i)
  19.     {
  20.  
  21.         int x=abs(a[i]);
  22.  
  23.  
  24.         s.push(a[i]);
  25.         mp1[x]+=a[i];
  26.  
  27.         if(mp1[x]==0)
  28.         {
  29.             mp2[x]=1;
  30.             s.pop();
  31.             s.pop();
  32.  
  33.         }
  34.         if(s.size()==0)
  35.         {
  36.             v.push_back(i+1);
  37.             ++c;
  38.             mp1.clear();
  39.             mp2.clear();
  40.         }
  41.  
  42.  
  43.     }
  44.    
  45.     printf("%d\n",v.size());
  46.     for(int i=0; i<v.size(); ++i)
  47.     {
  48.         printf("%d ",v[i]);
  49.     }
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement