Advertisement
jeff69

Untitled

Jan 22nd, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. /*
  2. You wanna hack .... ok then, however send the hacking test to fb.com/j3far.Badour
  3. */
  4. #include<bits/stdc++.h>
  5. using namespace std;
  6. typedef long long ll;
  7. const int MX=1e5+6;
  8. int n,t[MX];
  9. int ID(int x,int jump)
  10. {
  11. int st=1,en=x,ret=1e6;
  12. while(st<=en)
  13. {
  14. int mid=(st+en)/2;
  15. if(t[x]-jump<=t[mid])
  16. {
  17. ret=min(ret,mid);
  18. en=mid-1;
  19. }else st=mid+1;
  20. }
  21. //cout<<x<<' '<<jump<<' '<<ret<<endl;
  22. return ret;
  23. }
  24. int dp[MX];
  25. int solve(int x)
  26. {
  27. if(x<1)return 0;
  28. if(dp[x]!=-1)return dp[x];
  29. int ans=1e8;
  30. int id=ID(x,1439);
  31. if(id<x)
  32. ans=min(ans,120+solve(id-1));
  33. id=ID(x,89);
  34. if(id<x)
  35. ans=min(ans,50+solve(id-1));
  36. ans=min(ans,20+solve(x-1));
  37. return dp[x]=ans;
  38. }
  39. int main()
  40. {
  41. cin>>n;
  42. memset(dp,-1,sizeof dp);
  43. ll ans=0;
  44. for(int i=1;i<=n;i++)
  45. {
  46. scanf("%d",t+i);
  47. cout<<solve(i)-ans<<endl;
  48. ans=solve(i);
  49. }
  50.  
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement