椰奶國
#include <iostream> using namespace std; long long calc(int x,int y,int z) { long long sum = 0,seconds = 0; for(int i = 0;i<x;i++){ seconds += i*10+1; sum += seconds; } for(int i = 0;i<y;i++){ sum += 10*i+1; } return sum+z; } int main(){ int t; cin>>t; long long n,a,b,c,e,f,g; for(int i = 1;i<=t;i++){ cin>>n>>a>>b>>c>>e>>f>>g; long long s1 = calc(a,b,c); long long s2 = calc(e,f,g); long long s3 = calc(n,0,0); if(s1<=s2){ cout<<s2-s1<<endl; }else{ cout<<s2+s3-s1<<endl; } } return 0; }
題目描述
椰奶國的一天共有 n 個小時。第 i 個小時(0≤i<n)共有 i+1 分鐘,第 i 個小時的第 j 分鐘(0≤j≤i)共有 10j+1 秒。
注意,這里小時、分鐘、秒數都是從 00 起計數。
現在,給出起始時刻 t1?=A:B:C,表示 t1? 時刻是 A 時 B 分 C 秒,和結束時刻 t2?=E:F:G,表示 t2? 時刻是 E 時 F 分 G 秒。
已知時刻 t2? 的時刻不早于 t1? 的時刻,且二者時間間隔小于一天。
請你求出 t1? 和 t2? 之間經過了多少秒。
輸入格式
本題單個測試點內有多組測試數據。第一行是一個整數,表示數據組數 T。
接下來 T 行,每行七個整數,依次表示一組數據的n,A,B,C,E,F,G。
輸出格式
對每組數據,輸出一行一個整數表示答案。
輸入輸出樣例 #1
輸入 #1
1
10 3 2 11 3 3 0
輸出 #1
10
輸入輸出樣例 #2
輸入 #1
1
2 1 1 3 0 0 0
輸出 #2
8
說明/提示
樣例 2 解釋
椰奶國一天有 22 小時,即第 00 小時和第 11 小時,第 11 小時有 22 分鐘,即第 00 分鐘和第 11 分鐘。第 11 分鐘有 10×1+1=1110×1+1=11 秒。在第 11 小時第 11 分鐘第 33 秒起,接下來經過的時刻是第 4,5,6,7,8,9,10,04,5,6,7,8,9,10,0 秒(其中最后一秒是下一天的第一秒),共八秒。
數據規模與約定
- 對 30%30% 的數據,t2? 代表的時刻在一天中不早于 t1? 時刻。
- 對 60%60% 的數據,n≤50,保證單個測試點內的答案之和不超過 108108。
- 對 100%100% 的數據,1≤T≤5×103,1≤n≤105,0≤B≤A<n,C≤10B。0≤F≤E<n,G≤10E,保證單個測試點內的 n 之和不超過 1.5×1081.5×108。

浙公網安備 33010602011771號