Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define N 100010
- using namespace std;
- ifstream fin("consolidare.in");
- ofstream fout("consolidare.out");
- int L, H, a[N], auxl, l, lt, lmin, ans;
- int gcd(int a, int b)
- {
- if (b == 0)
- return a;
- return gcd(b, a % b);
- }
- int main()
- {
- fin>>L>>H;
- for(int i=1; i<=L; ++i)
- fin>>a[i];
- a[++L]=H+1;
- for(int h=1; h<=H; ++h)
- {
- auxl=0;
- l=0;
- lt=0;
- lmin=H+1;
- for(int i=1; i<=L; ++i)
- if(a[i]<h)
- {
- l++;
- lt++;
- }
- else
- {
- if(i>1 && a[i-1]<h)
- {
- auxl++;
- if(auxl==1)
- lmin=l;
- else
- lmin=gcd(lmin, l);
- }
- l=0;
- }
- ans+=lt/lmin;
- }
- fout<<ans<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement