2014년 8월 5일 화요일

LUNCHBOX

알고스팟 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);
    }
}

댓글 없음:

댓글 쓰기