//
#include<bits/stdc++.h>
using namespace std;
const int N=111;
int in[N];
int n,m,x,y;
void double_p( int i,int j )
{
int sum;
sum=x=y=0;
while( j<=n && __ )
{
__; j++;
}
if( __ ) return false; // special
while( __ ) { __--; i++; } // compress
x=i; y=j-1;
while( j<=n )
{
__;
while( __ ) { __--; i++; } //compress
if( y-x > j-i ) { x=i; y=j };
j++;
}
return true;
}
P1638 逛画展
// double_p
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+7;
const int M=2222;
int in[N],cnt[N];
int n,m,x,y;
void double_p( int i,int j )
{
int sum=0;
while( j<=n && sum<m )
{
if( cnt[in[j]]==0 ) sum++;
cnt[in[j]]++;
j++;
}
while( cnt[in[i]]>1 ) { cnt[in[i]]--; i++; } // compress
x=i; y=j-1;
while( j<=n )
{
cnt[in[j]]++;
while( cnt[in[i]]>1 ) { cnt[in[i]]--; i++; } // compress
if( y-x > j-i ) { x=i; y=j; }
j++;
}
}
int main()
{
while( cin>>n>>m )
{
memset( cnt,0,sizeof( cnt ) ); // init
for( int i=1;i<=n;i++ ) cin>>in[i];
double_p( 1,1 );
cout<<x<<" "<<y<<endl;
}
return 0;
}
POJ_3061_Subsequence
// double_p_special
// #include<bits/stdc++.h>
#include<iostream>
using namespace std;
const int N=1e5+6;
int in[N];
int t,n,s,x,y;
bool double_p( int i,int j )
{
int sum;
x=y=sum=0;
while( j<=n && sum<s )
{
sum+=in[j]; j++;
}
if( sum<s ) return false; // special
while( sum-in[i]>=s ) { sum-=in[i]; i++; } // compress
x=i; y=j-1;
while( j<=n )
{
sum+=in[j];
while( sum-in[i]>=s ) { sum-=in[i]; i++; } // compress
if( y-x > j-i ) { x=i; y=j; }
j++; // lost
}
return true;
}
int main()
{
cin>>t;
while( t-- )
{
cin>>n>>s;
for( int i=1;i<=n;i++ ) cin>>in[i];
if( double_p( 1,1 ) ) cout<<y-x+1<<endl; // len=dis+1
else cout<<0<<endl; // special
}
return 0;
}