概述:有n天,第i天生产的费用是c[i],要生产y[i]个产品,可以用当天的也可以用以前的(多生产的)。每单位产品保存一天的费用是s。求最小费用。
思路:显然贪心,每次查找之前有没有哪一天保存到现在的价值最小,然后比较更新。
感想:题好难读啊!!!是时候学一波英语了。
#include<fstream>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
//ifstream cin("aaa.txt");
int N, s;
int c[100000], y[100000];
cin >> N >> s;
long long ans = 0;
for (int i = 0; i < N; i++)
{
cin>>c[i]>>y[i];
}
for (int i = 1; i < N; i++)
{
c[i] = min(c[i - 1] + s, c[i]);
}
for (int i = 0; i < N; i++)
{
ans += c[i] * y[i];
}
cout<<ans<<endl;
return 0;
}