Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <cmath>
- int max(int a, int b) {
- if (a > b)return a;
- else return b;
- }
- struct body{
- int t, p, s, m;
- };
- int main() {
- int n, k, t, mm = 0;
- scanf("%d %d %d", &n, &k, &t);
- body b[100];
- for (int i = 0; i < n; ++i)scanf("%d", &b[i].t);
- for (int i = 0; i < n; ++i)scanf("%d", &b[i].p);
- for (int i = 0; i < n; ++i) {
- scanf("%d", &b[i].s);
- if (b[i].s > b[i].t)b[i].p = -1;
- }
- for (int i = 0; i < n - 1; i++)
- for (int j = i + 1; j < n; j++)
- if (b[i].t > b[j].t) {
- b[i].t ^= b[j].t, b[j].t ^= b[i].t, b[i].t ^= b[j].t;
- b[i].p ^= b[j].p, b[j].p ^= b[i].p, b[i].p ^= b[j].p;
- b[i].s ^= b[j].s, b[j].s ^= b[i].s, b[i].s ^= b[j].s;
- }
- for (int i = 0; i < n; ++i) {
- if (b[i].p == -1)continue;
- b[i].m = 0;
- for (int j = i - 1; j >= 0; --j)
- if (b[i].t - b[j].t >= abs(b[i].s - b[j].s) && b[j].p > -1)
- b[i].m = max(b[j].m, b[i].m);
- b[i].m += b[i].p;
- mm = max(mm, b[i].m);
- }
- printf("%d", mm);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement