P1167求调
  • 板块题目总版
  • 楼主WD2c0mP
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/2/26 10:21
  • 上次更新2023/10/23 23:44:06
查看原帖
P1167求调
780641
WD2c0mP楼主2023/2/26 10:21
#include<bits/stdc++.h>
using namespace std;
int n,a[100010],a1,b,c,d,e;
int day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool rn(int a1) {return a1 % 4 == 0 && a1 % 100 != 0 || a1 % 400 == 0;}
long long calc() {
	long long tm = 0;
	bool r = rn(a1);
	if (r) day[2] ++;
	tm += e;
	tm += d * 60;
	for (int i = 1;i <= b;i ++) {
		tm += day[i] * 1440;
	}
	tm += c * 1440;
	for (int i = 0;i <= a1;i ++) {
		if (rn(i)) tm += 366 * 1440;
		else tm += 365 * 1440;
	}
	return tm;
}
int main(){
	cin >> n;
	for (int i = 1;i <= n;i ++) cin >> a[i];
	sort(a + 1,a + n + 1);
	char w;
	cin >> a1 >> w >> b >> w >> c >> w >> d >> w >> e;
	long long k1 = calc();
	cin >> a1 >> w >> b >> w >> c >> w >> d >> w >> e;
	long long k2 = calc();
	long long tm = k2 - k1;
	int cnt = 0;
	for (int i = 1;i <= n;i ++) {
		if (tm < a[i]) break;
		cnt ++;
		tm -= a[i];
	}
	cout << cnt << endl;
	return 0;
}
2023/2/26 10:21
加载中...