Cod sursa(job #855323)

Utilizator dariusdariusMarian Darius dariusdarius Data 14 ianuarie 2013 21:16:37
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
int d[1000005],c[1000005];
int max(int a,int b) {return a>b?a:b;}
int maxim;
int main()
{
    freopen("orase.in","r",stdin);
    freopen("orase.out","w",stdout);
    int n,i,m,x,y;
    scanf("%d%d",&m,&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&x,&y);
        maxim=max(maxim,y+d[x]);
        d[x]=max(d[x],y);
    }
    for(i=0;d[i]==0;i++) c[i]=0;
    c[i]=d[i];
    for(i=i+1;i<=m;i++)
        c[i]=max(c[i-1],d[i-1])+1;
    for(i=0;i<=m;i++)
        maxim=max(maxim,c[i]+d[i]);
    printf("%d\n",maxim);
    return 0;
}