結果
問題 | No.909 たぴの配置 |
ユーザー |
![]() |
提出日時 | 2019-10-29 16:48:31 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 298 ms / 3,000 ms |
コード長 | 2,956 bytes |
コンパイル時間 | 1,655 ms |
コンパイル使用メモリ | 170,336 KB |
実行使用メモリ | 6,528 KB |
最終ジャッジ日時 | 2024-09-14 21:31:59 |
合計ジャッジ時間 | 6,969 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
ソースコード
//include//------------------------------------------#include <bits/stdc++.h>using namespace std;//typedef//------------------------------------------typedef long long LL;typedef vector<LL> VL;typedef vector<VL> VVL;typedef vector<string> VS;typedef pair<LL, LL> PLL;//container util//------------------------------------------#define ALL(a) (a).begin(),(a).end()#define RALL(a) (a).rbegin(), (a).rend()#define PB push_back#define MP make_pair#define SZ(a) int((a).size())#define EACH(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)#define EXIST(s,e) ((s).find(e)!=(s).end())#define SORT(c) sort((c).begin(),(c).end())//constant//--------------------------------------------const double EPS = 1e-10;const double PI = acos(-1.0);const int MOD = 1000000007;// grid//--------------------------------------------VL dx = {0, 1, 0, -1};VL dy = {1, 0, -1, 0};VL dx2 = {-1, 0, 1, -1, 1, -1, 0, 1};VL dy2 = {-1, -1, -1, 0, 0, 1, 1, 1};//debug//--------------------------------------------#define dump(x) cerr << #x << " = " << (x) << endl;#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;//IO accelerate//--------------------------------------------struct InitIO {InitIO() {cin.tie(nullptr);ios_base::sync_with_stdio(false);cout << fixed << setprecision(30);}} init_io;//template//--------------------------------------------template<typename T>istream& operator >>(istream& is, vector<T>& vec) {for(T& x: vec) is >> x;return is;}template<typename T>ostream& operator <<(ostream& os, const vector<T>& vec) {for(int i=0; i<vec.size(); i++){os << vec[i] << ( i+1 == vec.size() ? "" : "\t" );}return os;}template<typename T>ostream& operator <<(ostream& s, const vector<vector<T>>& vv) {for (int i = 0; i < vv.size(); ++i) {s << vv[i] << endl;}return s;}// 多重vector// auto dp=make_v<int>(4,h,w) みたいに使えるtemplate<typename T>vector<T> make_v(size_t a){return vector<T>(a);}template<typename T,typename... Ts>auto make_v(size_t a,Ts... ts){return vector<decltype(make_v<T>(ts...))>(a,make_v<T>(ts...));}// 多重vectorのためのfill// fill_v(dp,0) みたいに使えるtemplate<typename T,typename V>typename enable_if<is_class<T>::value==0>::typefill_v(T &t,const V &v){t=v;}template<typename T,typename V>typename enable_if<is_class<T>::value!=0>::typefill_v(T &t,const V &v){for(auto &e:t) fill_v(e,v);}//main codeint main(int argc, char const* argv[]){int n;cin >> n;VL x(n),y(n);cin >> x >> y;LL d = INT32_MAX;for (int i = 0; i < n; i++) {d = min(d, x[i] + y[i]);}cout << d << endl;cout << 0 << endl;for (int i = 0; i < n; i++) {if (x[i] <= d) {cout << x[i] << endl;} else if (y[i] <= d) {cout << d - y[i] << endl;} else {cout << d << endl;}}cout << d << endl;return 0;}