Guest User

Untitled

a guest
Jun 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4.  
  5. #define max(x,y) ((x>y)?x:y)
  6. #define N_MAX 100000
  7.  
  8. using namespace std;
  9.  
  10. int len[N_MAX];
  11. int data[N_MAX];
  12.  
  13. main(){
  14. int n,l;
  15. scanf("%d%d",&n,&l);
  16.  
  17. for(int i=0;i<n;i++) scanf("%d",len+i);
  18.  
  19. if(len[0] > len[1]) data[0] = l - len[0];
  20. if(len[n-2] < len[n-1]) data[n-1] = l - len[n-1];
  21.  
  22. for(int i=1;i<n-1;i++){
  23. if(len[i] > len[i+1]){
  24. if(len[i-1] < len[i]){
  25. data[i] = l-len[i];
  26. }else {
  27. data[i] = data[i-1] + l - len[i];
  28. }
  29. }
  30. }
  31.  
  32. for(int i=n-2;i>=1;i--){
  33. if(len[i] < len[i+1]){
  34. if(len[i-1] < len[i]){
  35. data[i] = data[i+1] + l - len[i];
  36. }else{
  37. data[i] = max(data[i], data[i+1] + l - len[i]);
  38. }
  39. }
  40. }
  41.  
  42. if(len[0] < len[1]) data[0] = data[1] + l - len[0];
  43. if(len[n-2] > len[n-1]) data[n-1] = data[n-2] + l - len[n-1];
  44.  
  45. sort(data,data+n);
  46.  
  47. printf("%d\n", data[n-1]);
  48. }
Add Comment
Please, Sign In to add comment