Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define endl '\n'
  3. #define all(x) x.begin(),x.end()
  4. #define x first
  5. #define y second
  6. #define pb push_back
  7. #define ppb pop_back
  8. #define pf push_front
  9. #define ppf pop_front
  10. #define ll long long
  11. #define ld long double
  12. #define int ll
  13. #define ii pair<int, int>
  14. #define iii pair<int, ii>
  15. #define vi vector<int>
  16. using namespace std;
  17. const int ms = 2e6+100;
  18. const int sigma = 30;
  19. const ll mod = 1e9+7;
  20.  
  21. int perfect_sum[ms];
  22. int ans[ms];
  23.  
  24. void sieve() {
  25.   for(int i = 1; i < ms; i++) {
  26.     for(int j = i; j < ms; j += i)
  27.       perfect_sum[j]+=i;
  28.   }
  29.   int best = -1;
  30.   ans[0] = best;
  31.   for(int i=1; i<ms; i++){
  32.     if(perfect_sum[i]==i+i)
  33.       best = i;
  34.     ans[i] = best;
  35.   }
  36. }
  37.  
  38. int32_t main(){
  39.   ios_base::sync_with_stdio(false);
  40.   cin.tie(NULL);
  41.   sieve();
  42.   int n, a;
  43.   cin>>n;
  44.   while(n--){
  45.     cin>>a;
  46.     cout<<ans[a]<<endl;
  47.   }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement