Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define PB push_back
- #define ZERO (1e-10)
- #define INF (1<<29)
- #define CL(A,I) (memset(A,I,sizeof(A)))
- #define DEB printf("DEB!\n");
- #define D(X) cout<<" "<<#X": "<<X<<endl;
- #define EQ(A,B) (A+ZERO>B&&A-ZERO<B)
- typedef long long ll;
- typedef long double ld;
- typedef pair<ll,ll> pll;
- typedef vector<int> vi;
- typedef pair<int,int> ii;
- typedef vector<ii> vii;
- #define IN(n) int n;scanf("%d",&n);
- #define FOR(i, m, n) for (int i(m); i < n; i++)
- #define REP(i, n) FOR(i, 0, n)
- #define F(n) REP(i, n)
- #define FF(n) REP(j, n)
- #define FT(m, n) FOR(k, m, n)
- #define aa first
- #define bb second
- //void ga(int N,int *A){F(N)scanf("%d",A+i);}
- int N,A[1<<17],M,S,J;
- #define gc getchar_unlocked()
- inline char nx(){char c;while((c=gc)==10||32==c);return c;}
- inline bool gi(int &a){
- char c;
- bool lwr(0);
- while((c=gc)&&(c<48||c>57)&&c!=45&&~c);
- if(!c||!~c)return 0;
- if(c==45)a=0,lwr=1;
- else a=c-48;
- while((c=gc)&&c>=48&&c<=57)a*=10,a+=c-48;
- if(lwr)a=-a;
- return 1;
- }
- inline void pn(int k){
- if(!k){putchar_unlocked('0');return;}
- int l(0),i(0),j(0);
- while(k)
- l*=10,l+=k%10,k/=10,++i;
- while(j++<i)
- putchar_unlocked('0'+l%10),l/=10;
- }
- #define pc(C) (putchar_unlocked(C))
- #define pe pc(10)
- #define CS(H) (printf("Case "),pn(i+1),pc(':'),pc(32),pn(H),pc(10));
- void ga(int N,int *A){F(N)gi(A[i]);}
- void cs(int *v,int e){
- static int a[10001]={};
- for(int i(0);i<e;++i)
- ++a[v[i]];
- for(int i(0),j(0);i<e;++i){
- while(!a[j])
- ++j;
- --a[v[i]=j];
- }
- }
- int main(void){
- IN(tt)F(tt){
- gi(N),gi(M),ga(N,A),cs(A,N),S=J=0;
- while(J<N&&S+A[J]<=M)S+=A[J++];
- pn(J),pe;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment