你确定你不是在写P2240吗?
by Eason2009 @ 2022-06-01 19:05:45
啊
不是啊
by YQWQ @ 2022-06-01 19:10:15
```cpp
#include <bits/stdc++.h>
using namespace std;
struct E{
int shi;
int jia;
double p;
}arr[105];
bool C(E a,E b){
if(a.p>b.p) return 1;
else return 0;
}
int main(){
int t,m,s,kkk=0,jk=0;
cin>>t>>m;
for(int i=0;i<m;i++){
cin>>arr[i].shi>>arr[i].jia;
arr[i].p=(double)arr[i].jia/arr[i].shi;
// cout<<" ok "<<arr[i].p<<endl;
}
sort(arr,arr+m,C);
for(int i=0;;i++){
if(t>=arr[jk].shi){
// cout<<arr[i].shi<<" "<<arr[i].jia<<" "<<arr[i].p<<" "<<kkk<<" "<<t<<endl;
t=t-arr[jk].shi;
kkk+=arr[jk].jia;
jk++;
}else{
jk++;
}
if(jk>m){
break;
}
}
cout<<kkk;
}
```
现在改成这样能过一个点
by YQWQ @ 2022-06-01 19:12:37
~~这题不是dp吗~~
by 廖浩聃 @ 2022-06-01 19:47:19
你不能每个都拆成单位量来做啊,这是背包。
by irris @ 2022-06-01 20:01:50
背包啥?
我不会啊
by YQWQ @ 2022-06-05 14:30:14