ishanra

Untitled

May 5th, 2021
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.85 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const long long mod=1e9+7;
  5.  
  6. int fact(int n)
  7. {
  8.     int res = 1;
  9.     for (int i = 2; i <= n; i++)
  10.         res = res * i;
  11.     return res;
  12. }
  13. int nCr(int n, int r)
  14. {
  15.     return fact(n) / (fact(r) * fact(n - r));
  16. }
  17.  
  18.  
  19.  
  20. int main()
  21. {
  22.     int n;
  23.     cin>>n;
  24.     vector<int>v(n);
  25.     for(int i=0;i<n;i++)
  26.     {
  27.         cin>>v[i];
  28.     }
  29.     int sum=0;
  30.     int last=-1;
  31.     for(int i=0;i<n;i++)
  32.     {  
  33.         if(v[i]!=0)
  34.         {
  35.             last=v[i];
  36.         }
  37.         else if(v[i]==0)
  38.         {
  39.             int j=i;
  40.             while(v[j]==0)
  41.             {
  42.                 j++;
  43.             }
  44.             if(last!=-1)
  45.             {
  46.                 sum+=nCr(v[j]-last+1,j-i)+v[j]-last+1;
  47.             }
  48.             else
  49.             {
  50.                 sum+=nCr(v[j],j-i-1)+last;
  51.             }
  52.             i=j-1;
  53.         }
  54.     }
  55.     sum%=mod;
  56.     cout<<sum<<endl;
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment