제출 #975334

#제출 시각아이디문제언어결과실행 시간메모리
975334IBoryToys (CEOI18_toy)C++17
100 / 100
675 ms86372 KiB
#include <bits/stdc++.h> #include <unordered_set> using namespace std; const int MAX = 111111; vector<int> D; unordered_set<int> S[MAX]; int main() { int N; cin >> N; for (int i = 1; i * i <= N; ++i) { if (N % i) continue; D.push_back(i); if (i * i != N) D.push_back(N / i); } sort(D.begin(), D.end()); S[0].insert(0); for (int i = 0; i < D.size(); ++i) { for (int j = 0; j < i; ++j) { if (D[i] % D[j]) continue; for (int n : S[j]) S[i].insert(n + D[i] / D[j] - 1); } } vector<int> ans; for (int n : S[D.size() - 1]) ans.push_back(n); sort(ans.begin(), ans.end()); cout << ans.size() << '\n'; for (int n : ans) cout << n << ' '; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

toy.cpp: In function 'int main()':
toy.cpp:21:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |  for (int i = 0; i < D.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...