Cod sursa(job #1743974)

Utilizator isav_costinVlad Costin Andrei isav_costin Data 19 august 2016 01:20:43
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <cstdio>
#define INF 10000000

int m1[1000000], m2[1000000];

using namespace std;

int main()
{
    freopen( "orase.in", "r", stdin );
    freopen( "orase.out", "w", stdout );

    int n, m, i, d, l, drum=-INF, drtot=-INF;

    scanf( "%d%d", &m, &n );

    for( i=1;i<=m;i++ )
    {
        m1[i]=-INF;
        m2[i]=-INF;
    }

    for( i=1;i<=n;i++ )
    {
        scanf( "%d%d", &d, &l );
        if( m1[d]<=l )
        {
            m2[d]=m1[d];
            m1[d]=l;
        }
        else
            if( m2[d]<l )
                m2[d]=l;
    }

    for( i=1;i<=m;i++ )
    {
        drum++;
        if( m1[i]+m2[i]>drtot )
            drtot=m1[i]+m2[i];
        if( m1[i]+drum>drtot )
            drtot=m1[i]+drum;
        if( drum<m1[i] )
            drum=m1[i];
    }

    printf( "%d", drtot );

    return 0;
}