#include <bits/stdc++.h>
using namespace std;
struct Node{
int time, value;
};
Node a[100005];
queue<Node> q;
int t,m,s,ans,maxn = -1;
int main()
{
cin>>t>>m;
for(int i=1;i<=m;i++)
{
int x,y;
cin>>x>>y;
a[i] = {x, y};
while(!q.empty() && s + a[i].time >= t){
s = s - q.front().time;
ans -= q.front().value;
q.pop();
}
s += a[i].time;
ans += a[i].value;
q.push(a[i]);
maxn = max(maxn, ans);
}
cout << maxn;
return 0;
}
广搜题目《采药》