Pagini recente » Cod sursa (job #1156120) | Cod sursa (job #2511349) | Cod sursa (job #1436111) | Cod sursa (job #1621016) | Cod sursa (job #2729057)
#include <iostream>
#include <fstream>
#include <deque>
#define v first
#define s second
using namespace std;
ifstream fin("branza.in");
ofstream fout("branza.out");
int N, K, T;
int c, p;
long long S;
deque < pair < int, int > > B;
void Solve()
{
fin >> N >> K >> T;
for( int i = 1; i <= N; ++i )
{
fin >> c >> p;
while( !B.empty() && B.front().s > T)
B.pop_front();
while( !B.empty() && B.back().v + (i - B.front().s) * K >= c )
B.pop_back();
B.push_back( {c,i} );
S += 1LL * (B.front().v + (i - B.front().s) * K ) * p;
}
fout << S;
}
int main()
{
Solve();
return 0;
}