#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
template < class S, class T> inline S chmax( S & a, T b) {
if ( a< b) {
a= b;
}
return a;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
int minOperations( vector< int > & A, int x) {
int res = - 1 ;
int N = A.size ( ) ;
int Lj4PdHRW;
int KL2GvlyY;
if ( N== 0 ) {
KL2GvlyY = 0 ;
}
else {
KL2GvlyY = A[ 0 ] ;
for ( Lj4PdHRW= ( 1 ) ; Lj4PdHRW< ( N) ; Lj4PdHRW++ ) {
KL2GvlyY + = A[ Lj4PdHRW] ;
}
}
int s = KL2GvlyY- x;
int i;
int j = 0 ;
int k = 0 ;
for ( i= ( 0 ) ; i< ( N) ; i++ ) {
while ( j < N && k < s) {
k + = A[ j++ ] ;
}
if ( k== s) {
chmax( res, j - i) ;
}
k - = A[ i] ;
}
if ( res >= 0 ) {
res = N - res;
}
return res;
}
}
;
// cLay varsion 20201115-2
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// int minOperations(vector<int>& A, int x) {
// int res = -1, N = A.size(), s = sum(A(N)) - x, i, j = 0, k = 0;
// rep(i,N){
// while(j < N && k < s) k += A[j++];
// if(k==s) res >?= j - i;
// k -= A[i];
// }
// if(res >= 0) res = N - res;
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+IGlubGluZSBTIGNobWF4KFMgJmEsIFQgYil7CiAgaWYoYTxiKXsKICAgIGE9YjsKICB9CiAgcmV0dXJuIGE7Cn0KI2RlZmluZSBtYWluIGR1bW15X21haW4KaW50IG1haW4oKXsKICByZXR1cm4gMDsKfQojdW5kZWYgbWFpbgpjbGFzcyBTb2x1dGlvbnsKICBwdWJsaWM6CiAgaW50IG1pbk9wZXJhdGlvbnModmVjdG9yPGludD4mIEEsIGludCB4KXsKICAgIGludCByZXMgPSAtMTsKICAgIGludCBOID0gQS5zaXplKCk7CiAgICBpbnQgTGo0UGRIUlc7CiAgICBpbnQgS0wyR3ZseVk7CiAgICBpZihOPT0wKXsKICAgICAgS0wyR3ZseVkgPSAwOwogICAgfQogICAgZWxzZXsKICAgICAgS0wyR3ZseVkgPSBBWzBdOwogICAgICBmb3IoTGo0UGRIUlc9KDEpO0xqNFBkSFJXPChOKTtMajRQZEhSVysrKXsKICAgICAgICBLTDJHdmx5WSArPSBBW0xqNFBkSFJXXTsKICAgICAgfQogICAgfQogICAgaW50IHMgPSBLTDJHdmx5WS0geDsKICAgIGludCBpOwogICAgaW50IGogPSAwOwogICAgaW50IGsgPSAwOwogICAgZm9yKGk9KDApO2k8KE4pO2krKyl7CiAgICAgIHdoaWxlKGogPCBOICYmIGsgPCBzKXsKICAgICAgICBrICs9IEFbaisrXTsKICAgICAgfQogICAgICBpZihrPT1zKXsKICAgICAgICBjaG1heChyZXMsIGogLSBpKTsKICAgICAgfQogICAgICBrIC09IEFbaV07CiAgICB9CiAgICBpZihyZXMgPj0gMCl7CiAgICAgIHJlcyA9IE4gLSByZXM7CiAgICB9CiAgICByZXR1cm4gcmVzOwogIH0KfQo7Ci8vIGNMYXkgdmFyc2lvbiAyMDIwMTExNS0yCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIFNvbHV0aW9uIHsKLy8gcHVibGljOgovLyAgIGludCBtaW5PcGVyYXRpb25zKHZlY3RvcjxpbnQ+JiBBLCBpbnQgeCkgewovLyAgICAgaW50IHJlcyA9IC0xLCBOID0gQS5zaXplKCksIHMgPSBzdW0oQShOKSkgLSB4LCBpLCBqID0gMCwgayA9IDA7Ci8vICAgICByZXAoaSxOKXsKLy8gICAgICAgd2hpbGUoaiA8IE4gJiYgayA8IHMpIGsgKz0gQVtqKytdOwovLyAgICAgICBpZihrPT1zKSByZXMgPj89IGogLSBpOwovLyAgICAgICBrIC09IEFbaV07Ci8vICAgICB9Ci8vICAgICBpZihyZXMgPj0gMCkgcmVzID0gTiAtIHJlczsKLy8gICAgIHJldHVybiByZXM7Ci8vICAgfQovLyB9Owo=