80,求助

P1167 刷题

Lxmz2014 @ 2025-01-10 19:11:51

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;
}

求助


|