Submission

Status:
P-P-PPPPPP

Score: 80

User: real_MYdkn_not_fake_100

Problemset: E.Comet

Language: c

Time: 0.001 second

Submitted On: 2024-10-14 15:30:18

#include <stdio.h>
int get_days(int year){
    if((year%4==0&&year%100!=0)||year%400==0)
        return 366;
    return 365;
}
int main(){
    int d,m,y;
    scanf("%d %d %d",&d,&m,&y);
    int rev,times;
    scanf("%d %d",&rev,&times);
    int month[]={31,-1,31,30,31,30,31,31,30,31,30,31};
    for(int i=0;i<times;++i){
        int left=rev;
        month[1]=get_days(y)-337;
        int add_m=0;
        for(int j=m-1;j<12;++j){
            if(left>= month[j]-d)
                left-=month[j]-d;
            else{
                d+=left;
                left=0;
                if(d>month[j]){
                    ++add_m;
                    d-=month[j];
                }
                break;
            }
            d=0;
            if(j==11)++y;
        }
        m=1+add_m;
        if(m>12){
            ++y;
            m-=12;
        }
        while(left>=get_days(y))
            left-=get_days(y++);

        month[1]=get_days(y)-337;
        for(int j=0;left>=month[j];++j){
            left-=month[j];
            ++m;
        }
        while(left-- > 0)
            ++d;
        
    }
    printf("%d %d %d",d,m,y);
    return 0;
}