Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int T;
- int Case;
- int p1, p2, p3;
- int m1, m2, m3;
- int Ans;
- void readcase(){
- scanf("%d %d", &p1, &m1);
- scanf("%d %d", &p2, &m2);
- scanf("%d %d", &p3, &m3);
- }
- int absDif(int a, int b){
- if (a > b)
- return a - b;
- else
- return b - a;
- }
- int getmax(int a, int b){
- if (a > b)
- return a;
- else
- return b;
- }
- int getmin(int a, int b){
- if (a < b)
- return a;
- else
- return b;
- }
- void solvecase(){
- int i, j, k, left, right, dist1, dist2, dist3, max;
- Ans = 30;
- for (i = 1; i + m1 + m2 + m3 - 1 <= 30; i++){
- left = absDif(p1, i);
- right = absDif(p1, i + m1 - 1);
- dist1 = getmax(left, right);
- for (j = i + m1; j + m2 + m3 - 1 <= 30; j++){
- left = absDif(p2, j);
- right = absDif(p2, j + m2 - 1);
- dist2 = getmax(left, right);
- for (k = j + m2; k + m3 - 1 <= 30; k++){
- left = absDif(p3, k);
- right = absDif(p3, k + m3 - 1);
- dist3 = getmax(left, right);
- max = getmax(dist1,dist2);
- max = getmax(max, dist3);
- Ans = getmin(Ans, max);
- }
- }
- }
- }
- void printcase(){
- printf("#%d %d\n", Case, Ans);
- }
- int main(){
- freopen("input.txt", "r", stdin);
- scanf("%d", &T);
- for (Case = 1; Case <= T; Case++){
- readcase();
- solvecase();
- printcase();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement