题意:
给出n个苹果树成熟,每天可以拿v个苹果,苹果只能保存一天
思路:
尽可能拿剩下的,否则拿今天的
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <string>
#include <stdlib.h>
#include <stack>
#include <iostream>
using namespace std;
long long a[30005];
int main()
{
long long n,v,x,y;
while(cin>>n>>v)
{
memset(a,0,sizeof(a));
for(int i=1; i<=n; i++)
{
cin>>x>>y;
a[x]+=y;
}
long long sum=0;
for(int i=1; i<=3001; i++)
{
if(a[i-1]+a[i]<=v)
{
sum+=a[i-1]+a[i];
a[i]=0;
}
else
{
sum+=v;
if(a[i-1]>=v)
{
a[i-1]=0;
}
else
{
a[i]=a[i]+a[i-1]-v;
}
}
}
cout<<sum<<endl;
}
}