結果
問題 | No.542 1円玉と5円玉 |
ユーザー |
![]() |
提出日時 | 2017-07-14 22:31:16 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,895 bytes |
コンパイル時間 | 1,259 ms |
コンパイル使用メモリ | 111,848 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-07 23:10:11 |
合計ジャッジ時間 | 1,855 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 |
ソースコード
#include <algorithm>#include <iostream>#include <set>#include <string>#include <sstream>#include <vector>#include <cmath>#include <cstdio>#include <chrono>#include <unordered_map>using namespace std;typedef long long int ll;#define REP(i,n) for(int i=0; i<(n); ++i )#define REPR(i,n) for(int i=(n); i>=0; --i)#define FOR(i,a,n) for(int i=(a); i<(n); ++i )#define FORR(i,a,n) for(int i=(n); i>=(a); --i)#define DOUT(x) cerr << #x << " = " << x << "\n";#define COUT(x) cout << (x) << "\n";// 盤面生成アルゴリズム// sz - 1辺の長さ// h - 最大の厚さvector<vector<int>> function(int sz, int h){// 盤面初期化vector<vector<int>> arr;arr.resize(sz);REP(i, sz)arr[i].resize(sz, 1);// 盤面改変int r = 1, r0, r1, r2, r3, r4;auto max = sz < 100 ? sz : 100;for (auto i = 0; i < max; i++) {r0 = r = (r % 10009) * 99991;r1 = r = (r % 10009) * 99991;r2 = r = (r % 10009) * 99991;r3 = r = (r % 10009) * 99991;r4 = r = (r % 10009) * 99991;auto sqrX = r0 % sz;auto sqrY = r1 % sz;auto sqrW = r2 % (sz - sqrX) % 100;auto sqrH = r3 % (sz - sqrY) % 100;auto brdH = (r4 % h) + 1;FOR(x, sqrX, sqrX + sqrW){FOR(y, sqrY, sqrY + sqrH){arr[x][y] = brdH;}}}return move( arr);};std::vector<std::string> Split(const std::string& str, char delm){std::string tmp;std::vector<std::string> res;std::stringstream s(str);while (std::getline(s, tmp, delm)){res.push_back(tmp);}return std::move(res);}vector<vector<int>> res;vector<vector<int>> v;signed main(){ios::sync_with_stdio(false);cin.tie(0);int a, b;cin >> a >> b;set<int> res;int sum = 0;REP(i, a+1){sum = i;REP(j, b+1){res.insert(sum+ 5 * j);}res.insert(sum);}for (auto i = res.begin(); i != res.end(); ++i){if (*i == 0)continue;COUT(*i);}return 0;}