#include #include using namespace std; #include using namespace atcoder; using ll = long long; ll N,P,K; vector T,B; using Pll = pair; ll next_P(ll P,ll T,ll B){ if(T == 1) return min(P + B,1000'000'000'000'000'001ll); return min(P *2,1000'000'000'000'000'001ll); } void solve(){ vector> dp(N+1,vector(K+1,-1)); dp[0][0] = P; for(ll i = 0;i1'000'000'000'000'000'000) ans = -1; cout << ans << endl; } signed main(){ cin.tie(nullptr); ios::sync_with_stdio(false); cin >> N >> P >> K; T.resize(N); B.resize(N); for(ll i=0;i> T[i] >> B[i]; } solve(); }