提出 #2049760


ソースコード 拡げる

Copy
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
#include <utility>
#include <cmath>
#include <map>
#include <set>
#include <stack>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include <cctype>
#include <complex>
using namespace std;

#define INF_LL (ll)1e18
#define INF (int)1e9
#define REP(i, n) for(int i = 0;i < (n);i++)
#define FOR(i, a, b) for(int i = (a);i < (b);i++)
#define all(x) x.begin(),x.end()
#define fs first
#define sc second
using ll = long long;
using PII = pair<int, int>;
using PLL = pair<ll, ll>;

const double eps = 1e-10;

template<typename A, typename B>inline void chmin(A &a, B b){if(a > b) a = b;}
template<typename A, typename B>inline void chmax(A &a, B b){if(a < b) a = b;}

int main(void){
	cin.tie(0);
	ios::sync_with_stdio(false);

	int H, M, S;
	int c1,c2;
	cin >> H >> M >> S;
	cin >> c1 >> c2;
	ll r1 = 0, r2 = 0;
	int cnt1 = 0, cnt2 = 0;
	H%=12;
	while(cnt1 < c1 || cnt2 < c2){
		r1++;
		bool ok1 = 0, ok2 = 0, ok3 = 0, ok4 = 0;
		ok1 = (3600*30*H + 30*60*M+30*S > 3600*6*M+360*S);
		ok3 = (60*S < 60*M+S);
		S++;
		M+=S/60;
		S%=60;
		H+=M/60;
		M%=60;
		ok4 = (60*S >= 60*M+S);
		if(ok3 && ok4)
			cnt1++;
		H%=12;
		ok2 = (3600*30*H + 30*60*M+30*S <= 3600*6*M+360*S);
		if((ok1 && ok2) || (H==0 && M == 0 && S == 0)){
			cnt2++;
		}
	}
	if(H+M+S == 0){
		r1++;
		S++;
	}
	if(cnt1 != c1 || cnt2 != c2){
		cout << -1 << endl;
		return 0;
	}
	r2 = r1;
	while(cnt1 == c1 && cnt2 == c2){
		S++;
		r2++;
		if(S > M && (S-1) <= M)
			cnt1++;
		M+=S/60;
		S%=60;
		if(M*60+(S+60-1)%60 > 60*((S+60-1)%60) && M*60+S <= 60*S)
			cnt2++;
		H+=M/60;
		M%=60;
		H%=12;
	}
	cout << r1 << " " << r2-1 << endl;
}

提出情報

提出日時
問題 A - アナログ時計
ユーザ maze1230
言語 C++14 (GCC 5.4.1)
得点 400
コード長 1821 Byte
結果 AC
実行時間 419 ms
メモリ 256 KB

ジャッジ結果

セット名 All
得点 / 配点 400 / 400
結果
AC × 36
セット名 テストケース
All _sample_01, _sample_02, _sample_03, _sample_04, corner_01, corner_02, fixed-random-01, fixed-random-02, fixed-random-03, fixed-random-04, fixed-random-05, fixed-random-06, fixed-random-07, fixed-random-08, fixed-random-09, fixed-random-10, large-01, large-02, large-03, large-04, large-05, large-06, large-07, large-08, large-09, large-10, random-01, random-02, random-03, random-04, random-05, random-06, random-07, random-08, random-09, random-10
ケース名 結果 実行時間 メモリ
_sample_01 AC 1 ms 256 KB
_sample_02 AC 1 ms 256 KB
_sample_03 AC 1 ms 256 KB
_sample_04 AC 8 ms 256 KB
corner_01 AC 8 ms 256 KB
corner_02 AC 1 ms 256 KB
fixed-random-01 AC 7 ms 256 KB
fixed-random-02 AC 1 ms 256 KB
fixed-random-03 AC 6 ms 256 KB
fixed-random-04 AC 2 ms 256 KB
fixed-random-05 AC 7 ms 256 KB
fixed-random-06 AC 7 ms 256 KB
fixed-random-07 AC 5 ms 256 KB
fixed-random-08 AC 7 ms 256 KB
fixed-random-09 AC 7 ms 256 KB
fixed-random-10 AC 6 ms 256 KB
large-01 AC 416 ms 256 KB
large-02 AC 418 ms 256 KB
large-03 AC 416 ms 256 KB
large-04 AC 418 ms 256 KB
large-05 AC 416 ms 256 KB
large-06 AC 419 ms 256 KB
large-07 AC 417 ms 256 KB
large-08 AC 417 ms 256 KB
large-09 AC 416 ms 256 KB
large-10 AC 419 ms 256 KB
random-01 AC 222 ms 256 KB
random-02 AC 231 ms 256 KB
random-03 AC 279 ms 256 KB
random-04 AC 161 ms 256 KB
random-05 AC 8 ms 256 KB
random-06 AC 89 ms 256 KB
random-07 AC 230 ms 256 KB
random-08 AC 57 ms 256 KB
random-09 AC 32 ms 256 KB
random-10 AC 127 ms 256 KB