Advertisement
a53

consolidare

a53
Jan 19th, 2021
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define N 100010
  3. using namespace std;
  4. ifstream fin("consolidare.in");
  5. ofstream fout("consolidare.out");
  6. int L, H, a[N], auxl, l, lt, lmin, ans;
  7. int gcd(int a, int b)
  8. {
  9. if (b == 0)
  10. return a;
  11. return gcd(b, a % b);
  12.  
  13. }
  14. int main()
  15. {
  16. fin>>L>>H;
  17. for(int i=1; i<=L; ++i)
  18. fin>>a[i];
  19. a[++L]=H+1;
  20. for(int h=1; h<=H; ++h)
  21. {
  22. auxl=0;
  23. l=0;
  24. lt=0;
  25. lmin=H+1;
  26. for(int i=1; i<=L; ++i)
  27. if(a[i]<h)
  28. {
  29. l++;
  30. lt++;
  31. }
  32. else
  33. {
  34. if(i>1 && a[i-1]<h)
  35. {
  36. auxl++;
  37. if(auxl==1)
  38. lmin=l;
  39. else
  40. lmin=gcd(lmin, l);
  41. }
  42. l=0;
  43. }
  44. ans+=lt/lmin;
  45. }
  46. fout<<ans<<'\n';
  47. return 0;
  48. }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement