Cod sursa(job #799033)

Utilizator avramavram andrei marius avram Data 17 octombrie 2012 19:18:50
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
#include<math.h> 
#include <stdlib.h>
using namespace std;
int i,j,x,y,au,bu,ad,bd,n,m,maxi,s[50010],ok,q;
int main()
{
	freopen("orase.in","r",stdin);
	freopen("orase.out","w",stdout);
	scanf("%d%d",&m,&n);
	scanf("%d%d",&au,&bu);
	scanf("%d%d",&ad,&bd);
	s[2]=abs(au-ad)+bu+bd;
	for(i=3;i<=n;i++)
	{
		scanf("%d%d",&x,&y);
		if(abs(x-au)+y+bu>s[i-1])
		{
			s[i]=abs(x-au)+y+bu;
			ok=1;
		}
		if(abs(x-ad)+y+bd>s[i-1])
		{
				s[i]=abs(x-ad)+y+bd;
				ok=2;
		}
		if(ok==1)
			{ad=x;bd=y;}
		if(ok==2)
		{au=x;bu=y;}
		if(ok==0)
			s[i]=s[i-1];
		ok=0;
			
		if(s[i]>maxi)
			maxi=s[i];
	}
	printf("%d",maxi);
	return 0;
}