#include #include #include using namespace std; int N,C; int P[5050]; int dp[2][5050]; main() { cin>>N>>C; for(int i=0;i>P[i]; sort(P,P+N); reverse(P,P+N); vectorA,B; for(int i=0;i>t>>x; if(t==1)A.push_back(x); else B.push_back(x); } sort(A.begin(),A.end()); reverse(A.begin(),A.end()); sort(B.begin(),B.end()); reverse(B.begin(),B.end()); int now=0; for(int i=1;i<=A.size();i++)dp[now][i]=1e9; for(int i=0;i