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

为保持Duff的幸福,每日需购买特定重量的肉,每公斤价格不同。任务是计算最少开销来满足需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值