500
deque<int> insert( deque<int> v, int n, int size ){
int a=0;
for(int i=v.size()-1 ; i>= max(0, (int)v.size()-size) ; i--){
a += v[i];
}
a %= 10;
v.push_back(a);
if( v.size()> n ){
v.pop_front();
}
return v;
}
class EasySequence {
public:
int find(vector <int> A, vector <int> B) {
if(A.size() > B.size()){
for(int i=0 ; i<=A.size()-B.size() ; i++){
vector<int> v;
for(int j=i ; j<i+B.size() ; j++){
v.push_back(A[j]);
}
if(v==B) return i;
}
}
if(A == B)return 0;
int An = A.size();
int Bn = B.size();
deque<int> AA, BB;
for(int i=0 ; i<A.size() ; i++)
AA.push_back(A[i]);
for(int i=0 ; i<B.size() ; i++)
BB.push_back(B[i]);
while( AA.size() < BB.size())
AA = insert(AA, Bn, An);
if( AA == BB) return 0;
clock_t start, end;
start = clock();
int cnt = AA.size()-BB.size();
while(1){
AA = insert( AA,Bn,An );
cnt++;
if( AA.size() == BB.size()){
if( AA==BB ) return cnt;
}
else{
deque<int> AAA;
for(int i=AA.size()-BB.size() ; i<AA.size() ; i++){
AAA.push_back( AA[i] );
}
if( AAA==BB) return cnt;
}
end = clock();
if( (end-start)/CLOCKS_PER_SEC > 1.9) return -1;
}
}
};