Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define endl '\n'
- #define all(x) x.begin(),x.end()
- #define x first
- #define y second
- #define pb push_back
- #define ppb pop_back
- #define pf push_front
- #define ppf pop_front
- #define ll long long
- #define ld long double
- #define int ll
- #define ii pair<int, int>
- #define iii pair<int, ii>
- #define vi vector<int>
- using namespace std;
- const int ms = 2e6+100;
- const int sigma = 30;
- const ll mod = 1e9+7;
- int perfect_sum[ms];
- int ans[ms];
- void sieve() {
- for(int i = 1; i < ms; i++) {
- for(int j = i; j < ms; j += i)
- perfect_sum[j]+=i;
- }
- int best = -1;
- ans[0] = best;
- for(int i=1; i<ms; i++){
- if(perfect_sum[i]==i+i)
- best = i;
- ans[i] = best;
- }
- }
- int32_t main(){
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- sieve();
- int n, a;
- cin>>n;
- while(n--){
- cin>>a;
- cout<<ans[a]<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement