結果
問題 | No.909 たぴの配置 |
ユーザー |
![]() |
提出日時 | 2019-10-18 21:37:10 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 272 ms / 3,000 ms |
コード長 | 1,628 bytes |
コンパイル時間 | 881 ms |
コンパイル使用メモリ | 102,624 KB |
実行使用メモリ | 7,936 KB |
最終ジャッジ日時 | 2024-06-25 15:11:03 |
合計ジャッジ時間 | 5,996 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 |
ソースコード
#include<iostream>#include<vector>#include<algorithm>#include<functional>#include<queue>#include<stack>#include<set>#include<map>#include<unordered_map>#include<climits>#include<cstdlib>#include<cmath>#include<string>#include<iomanip>#include<bitset>#include<list>using namespace std;#define ll long long intll const MOD = 1000000007;ll const INF = (long long int)1 << 61;ll mypow(ll x,ll n,ll mod = MOD){ll ret = 1;while(n > 0){if(n&1){ret = (ret*x)%mod;}x = (x*x)%mod;n >>= 1;}return ret;}ll mygcd(ll a,ll b){if(b == 0)return a;return mygcd(b,a%b);}ll twoPow(ll shiftNum){return (1LL << (shiftNum - 1));}int main(){cin.tie(0);ios::sync_with_stdio(false);ll n;cin >> n;vector<ll> x(n),y(n);for(int i = 0; i < n; i++){cin >> x[i];}for(int i = 0; i < n; i++){cin >> y[i];}ll ok = 0;ll ng = 10000000;while(abs(ok - ng) > 1){ll middle = (ok+ng)/2;bool flag = true;for(int i = 0; i < n; i++){if(x[i] + y[i] < middle){flag = false;}}if(flag){ok = middle;}else{ng = middle;}}vector<ll> ans(n);for(int i = 0; i < n; i++){if(x[i] > ok){ans[i] = ok;}else{ans[i] = x[i];}}cout << ok << endl;cout << 0 << endl;for(int i = 0; i< n; i++){cout << ans[i] << endl;}cout << ok << endl;return 0;}