Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <cmath>
  3. int max(int a, int b) {
  4. if (a > b)return a;
  5. else return b;
  6. }
  7. struct body{
  8. int t, p, s, m;
  9. };
  10. int main() {
  11. int n, k, t, mm = 0;
  12. scanf("%d %d %d", &n, &k, &t);
  13. body b[100];
  14. for (int i = 0; i < n; ++i)scanf("%d", &b[i].t);
  15. for (int i = 0; i < n; ++i)scanf("%d", &b[i].p);
  16. for (int i = 0; i < n; ++i) {
  17. scanf("%d", &b[i].s);
  18. if (b[i].s > b[i].t)b[i].p = -1;
  19. }
  20. for (int i = 0; i < n - 1; i++)
  21. for (int j = i + 1; j < n; j++)
  22. if (b[i].t > b[j].t) {
  23. b[i].t ^= b[j].t, b[j].t ^= b[i].t, b[i].t ^= b[j].t;
  24. b[i].p ^= b[j].p, b[j].p ^= b[i].p, b[i].p ^= b[j].p;
  25. b[i].s ^= b[j].s, b[j].s ^= b[i].s, b[i].s ^= b[j].s;
  26. }
  27. for (int i = 0; i < n; ++i) {
  28. if (b[i].p == -1)continue;
  29. b[i].m = 0;
  30. for (int j = i - 1; j >= 0; --j)
  31. if (b[i].t - b[j].t >= abs(b[i].s - b[j].s) && b[j].p > -1)
  32. b[i].m = max(b[j].m, b[i].m);
  33. b[i].m += b[i].p;
  34. mm = max(mm, b[i].m);
  35. }
  36. printf("%d", mm);
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement