Cod sursa(job #2534280)
Utilizator | Terec Andrei-Sorin [email protected] | Data | 30 ianuarie 2020 12:36:19 |
---|---|---|---|
Problema | Orase | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.68 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
int n,m;
int drum[50001];
int best,sol;
int main()
{
sol=0;
f>>n>>m;
int a,b;
for(int i=1;i<=m;i++)
{
f>>a>>b;
if(drum[a])
{
sol=max(sol,drum[a]+b);
drum[a]=max(drum[a],b);
}
else
drum[a]=b;
}
int i;
for(i=0;drum[i]==0;i++);
best=drum[i++];
for(;i<=n;i++)
{
best++;
if(drum[i])
sol=max(sol,best+drum[i]);
best=max(best,drum[i]);
}
g<<sol;
f.close();
g.close();
return 0;
}