只得了三个AC(T - T)
  • 板块P1167 刷题
  • 楼主k52g
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/13 19:58
  • 上次更新2024/8/13 22:02:17
查看原帖
只得了三个AC(T - T)
1068146
k52g楼主2024/8/13 19:58

得了三个AC,其余的不知道错在哪?
求大佬们指点

#include<bits/stdc++.h>
using namespace std;
int n;
int yyyy,mm,dd,hh,MM;
int yyy2,m2,d2,h2,M2;
int a[5000+10];
char ch[8+2];
long long ll,rr;
int cmp;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	cin>>yyyy>>ch[1]>>mm>>ch[2]>>dd>>ch[3]>>hh>>ch[4]>>MM;
	cin>>yyy2>>ch[1]>>m2>>ch[2]>>d2>>ch[3]>>h2>>ch[4]>>M2;
	if(yyyy%100==0||yyyy%4!=0){
		if(yyyy%100==0&&yyyy%400==0){
			ll+=yyyy*366*24*60;
		}else{
			ll+=yyyy*365*24*60;
		}
	}else{
		ll+=yyyy*366*24*60;
	}	
	if(mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12){
		ll+=31*24*60;
	}else if(mm==2){
		if(yyyy%100==0||yyyy%4!=0){
			if(yyyy%100==0&&yyyy%400==0){
				ll+=29*24*60;
			}else{
				ll+=28*24*60;
			}
		}else{
			ll+=29*24*60;
		}
	}else{
		ll+=30*24*60;
	}
	ll+=dd*24*60+hh*60+MM;
	//___________________________________________________
	if(yyy2%100==0||yyy2%4!=0){
		if(yyy2%100==0&&yyy2%400==0){
			rr+=yyy2*366*24*60;
		}else{
			rr+=yyy2*365*24*60;
		}
	}else{
		rr+=yyy2*366*24*60;
	}	
	if(m2==1||m2==3||m2==5||m2==7||m2==8||m2==10||m2==12){
		rr+=31*24*60;
	}else if(m2==2){
		if(yyy2%100==0||yyy2%4!=0){
			if(yyy2%100==0&&yyy2%400==0){
				rr+=29*24*60;
			}else{
				rr+=28*24*60;
			}
		}else{
			rr+=29*24*60;
		}
	}else{
		rr+=30*24*60;
	}
	rr+=d2*24*60+h2*60+M2;
	//___________________________________________________
	int ji=rr-ll;
	sort(a+1,a+n+1);
	for(int i=1; ;i++){
		if(ji>=a[i]){
			cmp++;
			ji-=a[i];
		}else{
			break;
		}
	}
	cout<<cmp;
	return 0;
}

谢谢大佬们

2024/8/13 19:58
加载中...