7822022-01-11 12:03:06Halasz EszterEgykorúak (75 pont)cpp11Accepted 75/7510ms2372 KiB
#include <iostream>
//#include <fstream>
#include <algorithm>

using namespace std;

//ifstream cin("egykoruak.in");
//ofstream cout("egykoruak.out");

int i,j,a,b,c,p,q,r,ossz,ev,n,db=0;

int main()
{
    cin>>n;
    cin>>a>>b>>c;
    int x[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

    for(i=1;i<=n;++i)
    {
        cin>>p>>q>>r;
        ev=abs(p-a);
        ossz=0;
        if(ev==0) ossz=1;
        else if(ev==1)
        {
            if(a%4==0 || p%4==0)
            {
                if(a%4==0 && a<p)
                {
                    x[2]=29;
                    ossz+=x[b]-c;
                    for(j=b+1;j<=12;++j) ossz+=x[j];
                    x[2]=28;
                    ossz+=r;
                    for(j=1;j<q;++j) ossz+=x[j];
                }
                else if(a%4==0 && a>p)
                {
                    x[2]=28;
                    ossz+=x[q]-r;
                    for(j=q+1;j<=12;++j) ossz+=x[j];
                    x[2]=29;
                    ossz+=c;
                    for(j=1;j<b;++j) ossz+=x[j];
                }
                else if(p%4==0 && a<p)
                {
                    x[2]=28;
                    ossz+=x[b]-c;
                    for(j=b+1;j<=12;++j) ossz+=x[j];
                    x[2]=29;
                    ossz+=r;
                    for(j=1;j<q;++j) ossz+=x[j];
                }
                else if(p%4==0 && a>p)
                {
                    x[2]=29;
                    ossz+=x[q]-r;
                    for(j=q+1;j<=12;++j) ossz+=x[j];
                    x[2]=28;
                    ossz+=c;
                    for(j=1;j<b;++j) ossz+=x[j];
                }

            }
            else
            {
                x[2]=28;
                if(a<p)
                {
                    ossz+=x[b]-c;
                    for(j=b+1;j<=12;++j) ossz+=x[j];
                    ossz+=r;
                    for(j=1;j<q;++j) ossz+=x[j];
                }
                else
                {
                    ossz+=x[q]-r;
                    for(j=q+1;j<=12;++j) ossz+=x[j];
                    ossz+=c;
                    for(j=1;j<b;++j) ossz+=x[j];
                }


            }

        }


        if(ossz<=365 && ossz!=0) db++;
    }
    cout<<db;


    return 0;
}
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/02ms1804 KiB
2Accepted0/010ms1908 KiB
3Accepted5/52ms2008 KiB
4Accepted5/51ms2020 KiB
5Accepted5/51ms2016 KiB
6Accepted5/51ms2016 KiB
7Accepted5/52ms2028 KiB
8Accepted5/51ms2036 KiB
9Accepted5/51ms2032 KiB
10Accepted5/52ms2044 KiB
11Accepted5/52ms2072 KiB
12Accepted5/53ms2092 KiB
13Accepted5/54ms2136 KiB
14Accepted5/57ms2180 KiB
15Accepted5/57ms2232 KiB
16Accepted5/58ms2296 KiB
17Accepted5/510ms2372 KiB