70分,有大佬能帮我调一下吗
  • 板块P1167 刷题
  • 楼主kobe_offical
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/5/15 20:36
  • 上次更新2023/10/28 01:20:40
查看原帖
70分,有大佬能帮我调一下吗
540929
kobe_offical楼主2022/5/15 20:36
#include<bits/stdc++.h>
using namespace std;
long long n,day,fen,ans;
int a[5140];
long long y,m,d,h,f,yy,mm,dd,hh,ff;
char q;
bool p(int x){
    if(x%100==0){if(x%400==0)return 1;}
    else{if(x%4==0)return 1;}
    return 0;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	cin>>y>>q>>m>>q>>d>>q>>h>>q>>f;
	cin>>yy>>q>>mm>>q>>dd>>q>>hh>>q>>ff;
	for(int i=y;i<yy;i++){
		if(p(i)==1){
			day+=366;
		}
		else{
			day+=365;
		}
		for(int j=m;j<mm;j++){
			if(j==2&&p(i)==1){
				day+=29;
			}
			else if(j==2&&p(i)==0){
				day+=28;
			}
			else if(j==4||j==6||j==9||j==11){
				day+=30;
			}
			else if(j==1||j==3||j==5||j==7||j==8||j==10||j==12){
				day+=31;
			}
		}
	}
	day=day+dd-d;
	fen=(hh-h)*60+ff-f;
	fen=fen+day*1440;
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++){
		if(fen>=a[i]){
			fen-=a[i];
			ans++;
		}
	}
	cout<<ans;
	return 0;
}

蒟蒻认为是自己求day时错了 自己调时中间j的循环没有进去

2022/5/15 20:36
加载中...