#include #define MAXN 100000 using namespace std; bool seq[MAXN][10]; bool check[10]; void clearCheck() { int i; for(i=0;i<10;i++) check[i]=false; } void updateCheck(int x) { int i; for(i=0;i<10;i++) if(seq[x][i]) check[i] = true; } bool isReady() { int i; for(i=0; i<10; i++) { if(!check[i]) return false; } return true; } int main() { ifstream inFile; ofstream outFile; inFile.open("numbers.in"); outFile.open("numbers.out"); int n, i, j, best; inFile >> n; for(i=0; i> j; while(j>0) { seq[i][j%10]=true; j=j/10; } } best = MAXN; for(i=0; i<(n-1); i++) { clearCheck(); for(j=i; j= best) break; updateCheck(j); if (isReady()) { best = j-i; } } } if (best == MAXN) outFile << -1 << endl; else outFile << best+1 << endl; inFile.close(); outFile.close(); return 0; };