Submission #1035375

#TimeUsernameProblemLanguageResultExecution timeMemory
1035375ByeWorldToys (CEOI18_toy)C++14
100 / 100
1464 ms96084 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3") // #define int long long #define ll long long #define pb push_back #define fi first #define se second #define lf (id<<1) #define rg ((id<<1)|1) #define md ((l+r)>>1) using namespace std; typedef pair<int,int> pii; typedef pair<int,pii> ipii; const int MAXN = 2e5+15; const int INF = 1e9+10; void chmn(int &a, int b){ a = min(a, b); } int n; vector <int> vec; map<int,int> idx; set <int> s[MAXN]; signed main(){ // ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; if(n==1){ cout << "1\n0\n"; exit(0); } for(int i=1; i*i<=n; i++){ if(n%i == 0){ vec.pb(i); if(n != i*i) vec.pb(n/i); } } sort(vec.begin(), vec.end()); for(int i=0; i<vec.size(); i++) idx[vec[i]] = i; s[0].insert(0); for(int i=1; i<vec.size(); i++){ int x = vec[i]; for(int j=1; j*j<=x; j++){ // kali j if(x%j != 0) continue; int id = idx[j]; for(auto in : s[id]) s[i].insert(in+x/j-1); if(j!=1){ id = idx[x/j]; for(auto in : s[id]) s[i].insert(in+j-1); } } } cout << s[vec.size()-1].size() << '\n'; for(auto in : s[vec.size()-1]) cout << in << ' '; cout << '\n'; }

Compilation message (stderr)

toy.cpp: In function 'int main()':
toy.cpp:36:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for(int i=0; i<vec.size(); i++) idx[vec[i]] = i;
      |                  ~^~~~~~~~~~~
toy.cpp:38:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     for(int i=1; i<vec.size(); i++){
      |                  ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...