package com.raylew.algorithm.ntoj;
import java.math.BigDecimal;
import java.util.Scanner;
/*
有一天,我做了个梦,梦见我很荣幸的接到了猪八戒的邀请,到天宫陪他吃酒。我犹豫了。
天上一日,人间一年啊!当然,我是个闲人,一年之中也没有多少时日是必须在人间的,因此,我希望选一个最长的空闲时间段,使我在天上待的时间尽量长。
记住,今年是4000年。天上一天也是24小时,每小时60分,每分60秒。
输入的第一行是一个非负整数 N,表示4000年中必须呆在人间的天数,以下共N行,每行两个用空格隔开的正整数,即日期(月,日),输入文件保证无错误,日期无重复。
输出一个非负整数,即在天上的时间(四舍五入精确到秒)。
样例输入
2
3 8
12 2
样例输出
63266
*/
public class B0008 {
static int[] month_days = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int days = scanner.nextInt();
int[][] array = new int[days][2];
for (int i = 0; i < days; i++) {
int month = scanner.nextInt();
int day = scanner.nextInt();
array[i][0] = month;
array[i][1] = day;
}
int max_days = 0;
int index = 0;
int leave_month, leave_day;
for (int i = 0; i < days - 1; i++) {
int temp = getGapDays(array[i][0], array[i][1], array[i + 1][0],
array[i + 1][1]);
if (max_days < temp) {
max_days = temp;
index = i;
}
}
leave_month = array[index][0];
leave_day = array[index][1];
BigDecimal b = new BigDecimal(max_days * 24 * 3600 / 366.0);
int res = (int) b.setScale(0, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(res);
}
public static int getGapDays(int month1, int day1, int month2, int day2) {
int sum = 0;
sum += month_days[month1 - 1] - day1;
for (int i = month1 + 1; i < month2; i++) {
sum += month_days[i - 1];
}
sum += day2 - 1;
return sum;
}
}