Cod sursa(job #1693728)

Utilizator Men_In_BlackMarco Polo Men_In_Black Data 23 aprilie 2016 19:18:48
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream fin("vila2.in");
ofstream fout("vila2.out");

deque < pair < int , int > > vile;

int n,i,k,x,mdif=-30001;

int main()
{fin>>n>>k;
fin>>x;
vile.push_front(make_pair(x,1));
for(i=2;i<=n;i++)
{fin>>x;
if(max(vile.front().first-x,x-vile.front().first)>mdif)
        mdif=max(vile.front().first-x,x-vile.front().first);
if(vile.back().first<=x)
    {vile.pop_back();
vile.push_back(make_pair(x,i));}
else
    vile.push_back(make_pair(x,i));

if(max(vile.front().first-vile.back().first,vile.back().first-vile.front().first)>mdif)
        mdif=max(vile.front().first-vile.back().first,vile.back().first-vile.front().first);
if(vile.front().second==i-k)vile.pop_front();

}
    fout<<mdif;
    return 0;
}