Cod sursa(job #2676862)

Utilizator RaresPoinaruPoinaru-Rares-Aurel RaresPoinaru Data 25 noiembrie 2020 09:52:25
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
using namespace std;
ifstream fin ("orase.in");
ofstream fout ("orase.out");
int v[1000001],v2[1000001];
int main()
{
    int m,n,x,y,i,lmax,cmax,pos,k;
    fin >>m>>n;
    for (i=1;i<=n;++i)
    {
        fin >>y>>x;
        if (x>v[y])
        {
            v2[y]=v[y];
            v[y]=x;
        }
        else
        {
            if (x>v2[y])
                v2[y]=x;
        }
    }
    cmax=0;
    lmax=0;
    for (i=0;i<=m;++i)
    {
        if (v[i]>0)
        {
            if (cmax==0)
                pos=i;
            if (v[i]+cmax+i-pos>lmax)
                lmax=v[i]+cmax-pos+i;
            if (v[i]>cmax+i-pos)
            {
                cmax=v[i];
                pos=i;
            }
            if (v2[i]+cmax+i-pos>lmax)
                lmax=v2[i]+cmax;
        }
    }
    fout <<lmax;
    fin.close ();
    fout.close ();
    return 0;
}