#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define ff first
#define ss second
#define pb push_back
#define vi vector<int>
#define fr(i,ii,iii) for(int i=ii;i<iii;i++)
vector<int> max_coupons(int a,vector<int>v,vector<int>t){
	vi ans;
	vector<pii>v1;
	fr(i,0,v.size()){
		v1.pb({v[i],i});
	}
	sort(v1.begin(),v1.end());
	for(auto i:v1){
		if(a-i.ff>=0){
			a-=i.ff;
			ans.pb(i.ss);
		}
		else break;
	}
	return ans;
}
//int main() {
//  int N, A;
//  assert(2 == scanf("%d %d", &N, &A));
//  std::vector<int> P(N), T(N);
//  for (int i = 0; i < N; i++)
//    assert(2 == scanf("%d %d", &P[i], &T[i]));
//  fclose(stdin);
//
//  std::vector<int> R = max_coupons(A, P, T);
//
//  int S = R.size();
//  printf("%d\n", S);
//  for (int i = 0; i < S; i++)
//    printf("%s%d", (i == 0 ? "" : " "), R[i]);
//  printf("\n");
//  fclose(stdout);
//
//  return 0;
//}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |