#include<iostream>
#include<iomanip>
#include<cmath>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cstdlib>
#include<queue>
#include<stack>
#include<vector>
#include<new>
using namespace std;
struct c
{
int t,v;
}a[1005];
int main()
{
int n,t0;
cin>>t0>>n;
for (int i = 0; i < n; ++i) {
cin>>a[i].t>>a[i].v;
}
for (int i = 0; i < n; ++i) {
for (int j = 1; j < n; ++j) {
if (a[j].v/a[j].t>a[j-1].v/a[j-i].t)
{
swap(a[j],a[j-1]);
}
}
}
int sum=0;
for(int i=n-1;i>-1;i--)
{
if (t0-a[i].t<0)
{
continue;
}
else if (t0-a[i].t==0)
{
sum+=a[i].v;
break;
}
else
{
t0-=a[i].t;
sum+=a[i].v;
}
}
cout<<sum;
}
萌新超拉的代码