Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _USE_MATH_DEFINES
- #include <iostream>
- #include <string>
- #include <map>
- #include <set>
- #include <algorithm>
- #include <vector>
- #include <stdio.h>
- #include <cmath>
- #include <math.h>
- #include <queue>
- #include <stack>
- #include <climits>
- #include <deque>
- #include <ctime>
- using namespace std;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef unsigned int ui;
- ll scd(int dd, int mm, int yy)
- {
- ll day = 0;
- switch (mm)
- {
- case 2: day += 31; break;
- case 3: day += 59; break;
- case 4: day += 90; break;
- case 5: day += 120; break;
- case 6: day += 151; break;
- case 7: day += 181; break;
- case 8: day += 212; break;
- case 9: day += 243; break;
- case 10: day += 273; break;
- case 11: day += 304; break;
- case 12: day += 334; break;
- default:
- break;
- }
- day += dd;
- if (yy % 4 == 0 && (yy % 100 != 0 || yy % 400 == 0))
- if (mm > 2)
- day += 1;
- yy--;
- day += (yy - yy / 4 + yy / 100 - yy / 400) * 365 + (yy / 4 - yy / 100 + yy / 400) * 366;
- return day;
- }
- int main()
- {
- int dd, mm, yy;
- ll nn;
- map<ll, int> old;
- ll prom;
- cin >> nn;
- ll max = 0, maxi = 0, maxl = 0;
- for (int i = 1; i <= nn; i++)
- {
- scanf("%d.%d.%d", &dd, &mm, &yy);
- prom = scd(dd, mm, yy);
- ll last = prom;
- scanf("%d.%d.%d", &dd, &mm, &yy);
- scanf("%d.%d.%d", &dd, &mm, &yy);
- ll e = scd(dd, mm, yy);
- prom = abs(e - prom);
- if (max <= prom)
- {
- if (max == prom)
- {
- if (maxl > last)
- {
- max = prom;
- maxi = i;
- maxl = last;
- }
- }
- else
- {
- max = prom;
- maxi = i;
- maxl = last;
- }
- }
- }
- cout << maxi;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment