Cod sursa(job #2394204)

Utilizator toadehuPuscasu Razvan Stefan toadehu Data 1 aprilie 2019 13:32:41
Problema A+B Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.37 kb
#include <iostream>

#define eu_am return

#define atata_timp_cat while

#define pentru for

#define numar_intreg int

#define returneaza_numar_intreg int

#define afiseaza cout

#define citeste cin

#define cel_mai_superior max

using namespace std;

numar_intreg t,n;

struct
{
    int d,u;
}vector[109];

numar_intreg ap[25009],ans=1;

returneaza_numar_intreg subprogramul_vietii ()
{
    pentru (numar_intreg i=1;i<=n;++i)
    {
        numar_intreg di=vector[i].d,ui=vector[i].u;
        numar_intreg ctimp=di+ui;
        atata_timp_cat (ctimp<t)
        {
            ap[ctimp]++;
            ctimp=ctimp+2*di+ui+1;
        }
    }
    pentru (numar_intreg i=1;i<=t;++i)
    {
        ans=cel_mai_superior(ans,ap[i]);
    }
    numar_intreg valoare=ans-1;
    eu_am valoare;
}

int main()
{
    citeste>>t>>n;
    pentru (numar_intreg i=1;i<=n;++i)
    {
        citeste>>vector[i].d;
    }
    pentru (numar_intreg i=1;i<=n;++i)
    {
        citeste>>vector[i].u;
    }
    //calculez cati roboti se intalesc la un moment dat la izvor daca nu stau deloc la coada,
    // deci daca am destule robinete ar trebui sa rezolve cerinta 1 (daca asta cere), daca nu,
    // merge oricum dand prioritate celui cu numar de indice mai mic si adunand cati sunt in fata la momentu
    // pe care il ocupa
    afiseaza<<subprogramul_vietii();
}