Pagini recente » Diferente pentru utilizator/zalman intre reviziile 11 si 10 | Diferente pentru utilizator/nod_software intre reviziile 82 si 81 | Diferente pentru utilizator/simon2712 intre reviziile 38 si 39 | Istoria paginii utilizator/c0ld | Cod sursa (job #679968)
Cod sursa(job #679968)
#include <fstream>
#include <vector>
#define ff first
#define ss second
using namespace std;
vector < pair<int,int> > v;
int n,C,best;
void citire() {
int i,x,y;
ifstream in("carnati.in");
in>>n>>C;
for(i=0;i<n;i++) {
in>>x>>y;
v.push_back(make_pair(x,y));
}
in.close();
}
void afis() {
ofstream out("carnati.out");
out<<best<<'\n';
out.close();
}
int main() {
int i,j,pret,S;
citire();
for(i=0;i<n;i++) {
pret=v[i].ss;
S=0;
for(j=1;j<n;j++) {
S-=(v[j].ff-v[j-1].ff-1)*C;
if(S<0)
S=0;
if(pret<=v[j].ss)
S+=pret;
S-=C;
if(S>best)
best=S;
}
}
afis();
return 0;
}