Codeforces Round #326 (Div. 2)-Duff and Meat

Posted x心有灵犀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #326 (Div. 2)-Duff and Meat相关的知识,希望对你有一定的参考价值。

题意:

  Duff每天要吃ai千克肉,这天肉的价格为pi(这天可以买好多好多肉),现在给你一个数值n为Duff吃肉的天数,求出用最少的钱满足Duff的条件。

 

思路:

  只要判断相邻两天中,今天的总花费 = ai*pi 与昨天的总花费(还有加上今天要吃的肉的重量)= (ai-1 + ai)*pi-1 。

 

 

代码如下:

  

  

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <fstream>
 5 #include <algorithm>
 6 #include <ctime>
 7 #include <cmath>
 8 #include <cstdlib>
 9 
10 using namespace std;
11 
12 int main()
13 {
14     int n, sum, tot;
15     while(scanf("%d", &n)==1&&n)
16     {
17         tot = 0;
18         int i;
19         int a, p, x, y;
20         for(i = 0; i < n; i++ )
21         {
22             sum = 0;
23             scanf("%d%d", &a, &p);
24             if(i == 0)
25             {
26                 sum += a*p;
27                 x = a;
28                 y = p;
29             }
30             else
31             {
32                 if(a*p + x*y > (x+a)*y)
33                 {
34                     sum += a*y;
35                 }
36                 else
37                 {
38                     sum += a*p;
39                     x = a;
40                     y = p;
41                 }
42             }
43             tot += sum;
44         }
45         printf("%d\n", tot);
46     }
47 
48     return 0;
49 }

 

以上是关于Codeforces Round #326 (Div. 2)-Duff and Meat的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Round #326 (Div. 2)-Duff and Meat

Codeforces Round #326 (Div. 1) B - Duff in Beach

Codeforces Round #326 (Div. 1) C - Duff in the Army

Codeforces Round #436 E. Fire(背包dp+输出路径)

[ACM]Codeforces Round #534 (Div. 2)

Codeforces Round #726 (Div. 2) B. Bad Boy(贪心)