782 2022. 01. 11 12:03:06 Halasz Eszter Egykorúak (75 pont) cpp11 Elfogadva 75/75 10ms 2372 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;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 75/75
1 Elfogadva 0/0 2ms 1804 KiB
2 Elfogadva 0/0 10ms 1908 KiB
3 Elfogadva 5/5 2ms 2008 KiB
4 Elfogadva 5/5 1ms 2020 KiB
5 Elfogadva 5/5 1ms 2016 KiB
6 Elfogadva 5/5 1ms 2016 KiB
7 Elfogadva 5/5 2ms 2028 KiB
8 Elfogadva 5/5 1ms 2036 KiB
9 Elfogadva 5/5 1ms 2032 KiB
10 Elfogadva 5/5 2ms 2044 KiB
11 Elfogadva 5/5 2ms 2072 KiB
12 Elfogadva 5/5 3ms 2092 KiB
13 Elfogadva 5/5 4ms 2136 KiB
14 Elfogadva 5/5 7ms 2180 KiB
15 Elfogadva 5/5 7ms 2232 KiB
16 Elfogadva 5/5 8ms 2296 KiB
17 Elfogadva 5/5 10ms 2372 KiB