Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define dbg(i,j) cout<<"I am "<<i<<" = "<<endl<<j<<endl;
- #define dbr(name,a) cout<<name<<endl;for(auto x:a)cout<<x<<" ";cout<<endl;
- #define DBR(name,a) cout<<name<<endl;for(auto x:a){ for(auto y:x)cout<<y<<" ";cout<<endl;}
- #define dbmp(name,a) cout<<name<<endl;for(auto x:a){ cout<<x.first<<"\t"<<x.second<<endl;}
- #define dbp(name,a) cout<<name<<endl;cout<<a.first<<"\t"<<a.second<<endl;
- #define boost ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
- using namespace std;
- typedef long long int big;
- typedef long double fig;
- big power(big x, big y, big p)
- {
- big res = 1; // Initialize result
- x = x % p; // Update x if it is more than or
- // equal to p
- while (y > 0)
- {
- // If y is odd, multiply x with result
- if (y & 1)
- res = (res*x) % p;
- // y must be even now
- y = y>>1; // y = y/2
- x = (x*x) % p;
- }
- return res;
- }
- int main(){
- big t=1;
- //scanf("%lld",&t);
- while(t--){
- big n;
- cin>>n;
- vector<big> arr(n);
- for(big i=0;i<n;i++){
- cin>>arr[i];
- if(arr[i]>0){
- arr[i]++;
- }
- }
- vector<big> leftc(n);
- vector<big> rightc(n);
- big c=0;
- for(big i=0;i<n;i++){
- c=c-1;
- c=max(c,arr[i]);
- rightc[i]=c;
- }
- c=0;
- for(big i=n-1;i>=0;i--){
- c=c-1;
- c=max(c,arr[i]);
- leftc[i]=c;
- }
- big count=0;
- for(big i=0;i<n-1;i++){
- if(leftc[i]==0 && rightc[i]==0){
- count++;
- }
- }
- cout<<count<<"\n";
- }
- return 0;
- }
- //
Add Comment
Please, Sign In to add comment