Codeforces Round #326 (Div. 2) A. Duff and Meat 水题

A. Duff and Meat

Time Limit: 1 Sec  

Memory Limit: 256 MB

题目连接

http://codeforces.com/contest/588/problem/A

Description

Duff is addicted to meat! Malek wants to keep her happy for n days. In order to be happy in i-th day, she needs to eat exactly aikilograms of meat.

There is a big shop uptown and Malek wants to buy meat for her from there. In i-th day, they sell meat for pi dollars per kilogram. Malek knows all numbers a1, ..., an and p1, ..., pn. In each day, he can buy arbitrary amount of meat, also he can keep some meat he has for the future.

Malek is a little tired from cooking meat, so he asked for your help. Help him to minimize the total money he spends to keep Duff happy forn days.

Input

The first line of input contains integer n (1 ≤ n ≤ 105), the number of days.

In the next n lines, i-th line contains two integers ai and pi (1 ≤ ai, pi ≤ 100), the amount of meat Duff needs and the cost of meat in that day.

 

Output

Print the minimum money needed to keep Duff happy for n days, in one line.

Sample Input

3
1 3
2 2
3 1

Sample Output

10

HINT

题意

每一天你得吃掉a[i]公斤的东西,然后在这天,这个东西的价格为p[i]

然后问你最少花费多少,就可以每天吃a[i]啦

题解:

对于每一天,肯定就用到目前为止的最少价格买啦

扫一遍就好了,边扫边更新

代码:

#include<iostream>
#include<math.h>
#include<stdio.h>
#include<map>
using namespace std;

long long a[100005];
long long p[100005];
long long minn;
int main()
{
    int n;
    scanf("%d",&n);
    minn = 9999LL;
    for(int i=1;i<=n;i++)
        scanf("%lld%lld",&a[i],&p[i]);
    long long ans = 0;
    for(int i=1;i<=n;i++)
    {
        minn = min(minn,p[i]);
        ans += minn*a[i];
    }
    cout<<ans<<endl;
}
原文地址:https://www.cnblogs.com/qscqesze/p/4884134.html