椰奶国

#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≤ji)共有 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% 的数据,n50,保证单个测试点内的答案之和不超过 108108。
  • 对 100%100% 的数据,1T5×103,1n105,0BA<n,C10B。0FE<n,G10E,保证单个测试点内的 n 之和不超过 1.5×1081.5×108。
posted @ 2025-07-01 20:54  王一行(小号)  阅读(10)  评论(0)    收藏  举报