Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- ifstream fin("cmmp.in");
- ofstream fout("cmmp.out");
- int n,p,i,j,x,v[100];
- long long f[100010];
- int main()
- {
- fin >> n;
- f[0] = -1; int gasite = 1;
- for (p=1; gasite<100000; p++)
- {
- long long val = p*1LL*p;
- int k = 0;
- while (val != 0)
- {
- v[++k] = val%10;
- val /= 10;
- }
- for (i=k; i>=1; i--)
- {
- int nr = 0;
- for (j=i; j>=1 && i-j+1<=5; j--)
- {
- nr = nr*10+v[j];
- if (f[nr] == 0)
- {
- f[nr] = p*1LL*p;
- gasite++;
- }
- }
- }
- }
- f[0] = 0;
- for (i=1; i<=n; i++)
- {
- fin >> x;
- fout << f[x] << " ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement