1 solutions
-
0
C++ :
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct Node{ int a, b; }p[5010], t; bool cmp(Node x, Node y){ return x.a < y.a; } int main(){ //freopen("farmer.in","r",stdin); //freopen("farmer.out","w",stdout); int n, i, ans1, ans2; while(scanf("%d", &n) != EOF){ for(i = 0; i < n; i++) scanf("%d%d", &p[i].a, &p[i].b); sort(p, p+n, cmp); t = p[0]; ans1 = p[0].b-p[0].a; ans2 = 0; for(i = 1; i < n; i++){ if(p[i].a >= t.a && p[i].a <= t.b){ if(p[i].b > t.b){ t.b = p[i].b; } }else{ if(ans1 < t.b-t.a) ans1 = t.b-t.a; if(ans2 < p[i].a-t.b) ans2 = p[i].a-t.b; t = p[i]; } } if(ans1 < t.b-t.a) ans1 = t.b-t.a; if(ans2 < p[i].a-t.b) ans2 = p[i].a-t.b; printf("%d %d\n", ans1, ans2); } return 0; }
- 1
Information
- ID
- 19218
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By