Cod sursa(job #679888)

Utilizator vladstoickvladstoick vladstoick Data 13 februarie 2012 20:27:31
Problema Carnati Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream>
using namespace std;
ifstream in("carnati.in");
ofstream out("carnati.out");
struct client
{
    int p,t;
};
int modul(int a , int b)
{
    if(a>=b)
        return b;
    if(b<=a)
        return a;
    return 0;
}
client v[2001];
int n , m , i , j ,s , maxi;
int main()
{
    in>>n>>m;
    for(i=1;i<=n;i++)
        in>>v[i].t>>v[i].p;
    s=0;
    int local=0,local2=0;
    int old=v[1].t-1;
    for(i=1;i<=n;i++)
    {
        s=0;old=v[1].t-1;
        for(j=1;j<=n;j++)
        {
            local= modul(v[j].p , v[i].p ) ;
            local2=( v[j].t-old )*m ;
            if(s  -  local2+ local > 0 )
            {
                s=s  - local2 + local;
                old=v[j].t;
                if(s>maxi)
                    maxi=s;
            }
            else
            {

                s=0;
                old=v[j+1].t-1;


            }
        }
    }
    out<<maxi;
}