黄梅时节家家雨,青草池塘处处WA!
#include<bits/stdc++.h>
using namespace std;
long long n,v,ans;
struct something{
long long zl;
long long jz;
long long wt;
double xjb;
}a[10001];
bool p[100001];
bool cmp(something x,something y)
{
return x.xjb>y.xjb;
}
int main()
{
cin>>n>>v;
for(long long i=1;i<=n;i++){
cin>>a[i].zl>>a[i].jz;
a[i].wt=i;
if(a[i].zl==1)a[i].xjb=a[i].jz;
else a[i].xjb=double(a[i].jz/a[i].zl+0.5);
}
sort(a+1,a+n+1,cmp);
for(long long i=1;i<=n;i++){
if(v==0)break;
if(v<a[i].zl)continue;
ans+=a[i].jz;
p[a[i].wt]=1;
v-=a[i].zl;
}
cout<<ans<<"\n";
for(long long i=1;i<=n;i++)
if(p[i]==1)cout<<i<<" ";
return 0;
}