题目链接:
http://codeforces.com/problemset/problem/588/A
解题思路:
这个题目很简单,
就是前一天肉的价格比后面几天低还是高,如果是高的话,只要买当天份量的肉就好;如果低的话,计算出低多少天,然后买低多少天肉的份量就OK啦。
#include <cstdio>
#include <iostream>
using namespace std;
#define L long long
struct node {
int x,y;
}a[100000+10];
int main()
{
int n,i,j,k;
L sum=0;
cin>>n;
for(i=0;i<n;i++)
scanf("%d%d",&a[i].x,&a[i].y);
for(i=0;i<n;i+=k)
{
k=1;
sum+=a[i].x*a[i].y;
if(a[i].y<a[i+1].y)
for(j=i+1;j<n;j++)
{
if(a[i].y<a[j].y) {sum+=a[j].x*a[i].y;k++;}
else break;
}
}
cout<<sum<<endl;
return 0;
}