답안 #463444

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
463444 2021-08-11T07:09:01 Z BT21tata Toys (CEOI18_toy) C++17
0 / 100
117 ms 262148 KB
#include<bits/stdc++.h>
// #pragma GCC target ("avx,avx2,fma")
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
typedef long long ll;
typedef long double ld;
#define SPEED ios_base::sync_with_stdio(false); cin.tie(0), cout.tie(0)
#define rall(v) (v).rbegin(),(v).rend()
#define all(v) (v).begin(),(v).end()
#define OK cerr<<"OK"<<endl<<flush
#define pii pair<int, int>
#define pll pair<ll, ll>
#define pb push_back
#define F first
#define S second
#define y0 jahdakdh
#define y1 jahsadakdakdh
#define endl '\n'
using namespace std;
const ll MOD=1e9+7;
mt19937 rng(std::chrono::system_clock::now().time_since_epoch().count());

set<int> a[10000005];

set<int> f(int n)
{
    set<int> ans;
    for(int i=2; i*i<=n; i++)
        if(n%i==0)
        {
            if(n/i<=10000000)
            {
                if(!a[n/i].size()) a[n/i]=f(n/i);
                for(int u : a[n/i]) ans.insert(u+i-1);
            }
            else
            {
                set<int> w=f(n/i);
                for(int u : w) ans.insert(u+i-1);    
            }
        }
    ans.insert(n-1);
    return ans;
} 

int main()
{
    SPEED;
    int n;
    cin>>n;
    set<int> s=f(n);
    cout<<s.size()<<endl;
    for(int u : s) cout<<u<<' ';
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 117 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 117 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 117 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 117 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 117 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -