#include using namespace std; //#include //using namespace atcoder; using ll=long long; using Graph=vector>; #define MAX 200003 #define MOD 1000000007 #define INF 2000000000 int main(){ int N,C; cin>>N>>C; vector P(N); for(int i=0;i>P[i]; } sort(P.begin(),P.end()); reverse(P.begin(),P.end()); vector X1,X2; for(int i=0;i>T>>X; if(T==1){ X1.push_back(X); }else{ X2.push_back(X); } } sort(X1.begin(),X1.end()); reverse(X1.begin(),X1.end()); sort(X2.begin(),X2.end()); reverse(X2.begin(),X2.end()); int n=X1.size(); int m=X2.size(); vector> dp(n+1,vector(m+1,INF)); dp[0][0]=0; for(int i=0;in||b>m){ continue; } if(a>0){ dp[a][b]=min(dp[a][b],dp[a-1][b]+max(P[i]-X1[a-1],0)); } if(b>0){ dp[a][b]=min(dp[a][b],dp[a][b-1]+P[i]*(100-X2[b-1])/100); } } } int ans=INF; for(int j=0;j<=min(N,C);j++){ int a=j; int b=min(N,C)-j; if(a>n||b>m){ continue; } ans=min(ans,dp[a][b]); } for(int i=min(N,C);i