help
  • 板块P1167 刷题
  • 楼主a_study_xxs
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/4/5 09:33
  • 上次更新2023/10/23 19:24:08
查看原帖
help
716488
a_study_xxs楼主2023/4/5 09:33
#include<bits/stdc++.h>
using namespace std;
int a[1005] , b[1005] , c[1005] ;
int i ;
long long t ;
int month[13] = {0 , 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31} ;
bool rnpd(int x){
	if(x % 400 == 0 && x % 100 == 0){
		return true ;
	}else if(x % 4 == 0){
		return true ;
	}else{
		return false ;
	}
}
int n , sum ;
int main(){
	cin >> n ;
	for(int i = 1 ; i <= n ; i ++ ){
		cin >> c[i] ;
	}
	scanf("%d-%d-%d-%d:%d",&a[1],&a[2],&a[3],&a[4],&a[5]);
	scanf("%d-%d-%d-%d:%d",&b[1],&b[2],&b[3],&b[4],&b[5]);
	sort(c + 1 , c + n + 1);
	while((a[1] != b[1]) && (a[2] != b[2]) && (a[3] != b[3]) && (a[4] != b[4]) && (a[5] != b[5]) ){
		t ++ ;
		month[2] = (rnpd(a[1]) ? 29 : 28);
		if(a[2] == 12){
			a[2] = 1 ;
			a[1] ++ ;
		}
		if(a[3] == month[a[2]]){
			a[3] = month[a[2] + 1] ;
			a[2] ++ ;
		}
		if(a[4] == 24){
			a[3] ++ ;
			a[4] = 0 ;
		}
		a[5] ++ ; 
		if(a[5] == 60){
			a[4] ++ ;
			a[5] = 0 ; 
		}
	}
	for(int i = 1 ; i <= n ; i ++ ){
		if(c[i] != 0){
			sum ++ ;
			t -= c[i] ;
		}
		if(t < c[i]){
			break ;			
		}
	}
	cout << sum ;
	return 0;
} 
2023/4/5 09:33
加载中...