Cod sursa(job #3219989)

Utilizator Cezar2009Cezar Mihai Titihazan Cezar2009 Data 1 aprilie 2024 22:30:59
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 2.85 kb
//https://www.pbinfo.ro/probleme/3041/venus
#include <bits/stdc++.h>
using namespace std;

ifstream fin("venus.in");
ofstream fout("venus.out");

struct comenzi
{
    int v;
    long long ore;
}c[1010];
bool comparare(const comenzi &a,const comenzi &b)
{
    if(a.ore==b.ore)
    {
        return a.v<b.v;
    }
    return a.ore<b.ore;
}
int main()
{
    int n,t,i;
    int zi,luna,ora;
    string s;
    tm start;
    start.tm_year=120;
    start.tm_mon=0;
    start.tm_mday=1;
    start.tm_hour=1;
    start.tm_min=0;
    start.tm_sec=0;

    fin>>n>>t;
    for(i=1;i<=n;++i)
    {
        fin>>c[i].v>>zi>>s>>ora;
        //cout<<v<<" "<<zi<<" "<<s<<" "<<ora<<"\n";
        {
            if(s=="ianuarie")
            {
                luna=1;
            }
            else if(s=="februarie")
            {
                luna=2;
            }
            else if(s=="martie")
            {
                luna=3;
            }
            else if(s=="aprilie")
            {
                luna=4;
            }
            else if(s=="mai")
            {
                luna=5;
            }
            else if(s=="iunie")
            {
                luna=6;
            }
            else if(s=="iulie")
            {
                luna=7;
            }
            else if(s=="august")
            {
                luna=8;
            }
            else if(s=="septembrie")
            {
                luna=9;
            }
            else if(s=="octombrie")
            {
                luna=10;
            }
            else if(s=="noiembrie")
            {
                luna=11;
            }
            else if(s=="decembrie")
            {
                luna=12;
            }
        }
        tm target;
        target.tm_year=120;
        target.tm_mon=luna-1;
        target.tm_mday=zi;
        target.tm_hour=ora;
        target.tm_min=0;
        target.tm_sec=0;
        time_t startt=mktime(&start);
        time_t targett=mktime(&target);
        c[i].ore=difftime(targett,startt)/3600;

//        cout<<c[i].v<<" "<<zi<<" "<<luna<<" "<<ora<<"\n";
//        cout<<c[i].ore<<"\n";
//        cout << "An: " << start.tm_year << endl;
//        cout << "Lună: " << start.tm_mon << endl;
//        cout << "Zi: " << start.tm_mday << endl;
//        cout << "Ora: " << start.tm_hour << endl;
//        cout << "Ora: " << start.tm_min << endl;
//        cout << "Ora: " << start.tm_sec << endl;
//        cout << "An: " << target.tm_year << endl;
//        cout << "Lună: " << target.tm_mon << endl;
//        cout << "Zi: " << target.tm_mday << endl;
//        cout << "Ora: " << target.tm_hour << endl;
//        cout<<"\n";
    }

    sort(c+1,c+n+1,comparare);

    for(i=1;i<=n;++i)
    {
        cout<<c[i].v<<" "<<c[i].ore<<"\n";
    }
    return 0;
}