题目链接:

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