Submission #377068

#TimeUsernameProblemLanguageResultExecution timeMemory
377068Pichon5Po (COCI21_po)C++17
70 / 70
44 ms492 KiB
#include<bits/stdc++.h> #define lcm(a,b) (a/__gcd(a,b))*b #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long int #define vi vector<int> #define vll vector<ll> #define pb push_back #define F first #define S second #define mp make_pair //salida rapida "\n" //DECIMALES fixed<<sp(n)<<x<<endl; //gcd(a,b)= ax + by //gcd(a,b)=gcd(a-b,b) a>=b //lCB x&-x //set.erase(it) - ersases the element present at the required index//auto it = s.find(element) //set.find(element) - iterator pointing to the given element if it is present else return pointer pointing to set.end() //set.lower_bound(element) - iterator pointing to element greater than or equal to the given element //set.upper_bound(element) - iterator pointing to element greater than the given element // | ^ //__builtin_popcount(x) using namespace std; int main() { int n,x; cin>>n; stack<int>st,clean; int res=0; for(int i=0;i<n;i++){ cin>>x; if(x==0){ st=clean; continue; } if(st.empty()){ st.push(x); res++; continue; } while(!st.empty()){ int val=st.top(); if(val==x)break; if(val<x){ res++; st.push(x); break; } st.pop(); } if(st.empty()){ res++; st.push(x); } } cout<<res<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...