알고스팟 LUNCHBOX
[-] Collapse
#include<cstdio>
#include<algorithm>
struct info{
int s, e;
};
info arr[10000];
bool comp(info left, info right){
if (left.e <= right.e) return false;
else return true;
}
int main(){
int t, n; scanf("%d", &t);
while (t--){
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &arr[i].s);
for (int i = 0; i < n; i++)
scanf("%d", &arr[i].e);
std::sort(arr, arr + n, comp);
int time = 0, ans = 0;
for (int i = 0; i < n; i++){
time -= (arr[i].s + arr[i].e);
if (time < 0)
ans -= time;
time = arr[i].e + (time < 0 ? 0 : time);
}
printf("%d\n", ans);
}
}
#include<algorithm>
struct info{
int s, e;
};
info arr[10000];
bool comp(info left, info right){
if (left.e <= right.e) return false;
else return true;
}
int main(){
int t, n; scanf("%d", &t);
while (t--){
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &arr[i].s);
for (int i = 0; i < n; i++)
scanf("%d", &arr[i].e);
std::sort(arr, arr + n, comp);
int time = 0, ans = 0;
for (int i = 0; i < n; i++){
time -= (arr[i].s + arr[i].e);
if (time < 0)
ans -= time;
time = arr[i].e + (time < 0 ? 0 : time);
}
printf("%d\n", ans);
}
}
댓글 없음:
댓글 쓰기