80,求助
  • 板块P1167 刷题
  • 楼主Lxmz2014
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/10 19:11
  • 上次更新2025/1/11 05:11:32
查看原帖
80,求助
1443850
Lxmz2014楼主2025/1/10 19:11

WA ON 6,8

#include<bits/stdc++.h>
using namespace std;
long long yue[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};
long long n,a[5025];
long long f1,f2,f3,f4,f5;
long long p1,p2,p3,p4,p5;
long long sum;
long long day;
int runnian(int s){
	if(s%4==0&&s%100!=0){
		return true;
	}
	if(s%400==0){
		return true;
	}
	return false;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
	}
	scanf("%d-%d-%d-%d:%d",&f1,&f2,&f3,&f4,&f5);
	scanf("%d-%d-%d-%d:%d",&p1,&p2,&p3,&p4,&p5);
	sort(a+1,a+n+1);
	for(int i=f1;i<p1;i++){
		if(runnian(i)) day+=366;
		else day+=365;
	}
	for(int i=1;i<f2;i++) day+=yue[i];
	for(int i=1;i<p2;i++) day-=yue[i];
	if(runnian(f1)&&f2>2) day++;
	if(runnian(p1)&&p2>2) day--;
	day=day+f3-p3;
	int hour=day*24;
	hour=hour+f4-p4;
	int m=hour*60;
	m=m+f5-p5;
	m=abs(m);
	for(int i=1;i<=n;i++){
		if(m>=a[i]){
			sum++;
			m-=a[i];
		}else{
			break;
		}
	}
	cout<<sum;
	return 0;
}

求助

2025/1/10 19:11
加载中...