智力大冲浪(贪心)
#include<iostream> #include<algorithm> using namespace std; struct node { int tl; int km; }a[510]; bool cmp(node x,node y) { return x.km>y.km; } int temp[510]; int main() { int m,n; cin>>m>>n; for(int i=1;i<=n;i++) { cin>>a[i].tl; } for(int i=1;i<=n;i++) { cin>>a[i].km; } sort(a+1,a+n+1,cmp); int flag=0; int ans=0; for(int i=1;i<=n;i++) { flag=1; for(int j=a[i].tl;j>=1;j--) { if(temp[j]==0) { flag=0; temp[j]=1; break; } } if(flag==1) { ans+=a[i].km; } } cout<<m-ans; return 0; }