結果

問題 No.1950 片道きゃっちぼーる
ユーザー 蜜蜂
提出日時 2022-05-06 01:08:03
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,524 bytes
コンパイル時間 3,997 ms
コンパイル使用メモリ 239,108 KB
実行使用メモリ 44,648 KB
最終ジャッジ日時 2024-07-05 02:35:17
合計ジャッジ時間 16,010 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 13 WA * 10
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:60:10: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
   60 |     auto [sm,id]=que.top();
      |          ^

ソースコード

diff #
プレゼンテーションモードにする

//g++ 2.cpp -std=c++14 -O2 -I .
#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll = long long;
using ld = long double;
using vi = vector<int>;
using vvi = vector<vi>;
using vll = vector<ll>;
using vvll = vector<vll>;
using vld = vector<ld>;
using vvld = vector<vld>;
using vst = vector<string>;
using vvst = vector<vst>;
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define pq_big(T) priority_queue<T,vector<T>,less<T>>
#define pq_small(T) priority_queue<T,vector<T>,greater<T>>
#define all(a) a.begin(),a.end()
#define rep(i,start,end) for(ll i=start;i<(ll)(end);i++)
#define per(i,start,end) for(ll i=start;i>=(ll)(end);i--)
#define uniq(a) sort(all(a));a.erase(unique(all(a)),a.end())
using P = pair<int,int>;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin>>n;
vi x(n),a(n);
rep(i,0,n)cin>>x[i];
rep(i,0,n)cin>>a[i];
map<ll,int> m;
rep(i,0,n){
m[x[i]]=i+1;
}
vi opt(n);
rep(i,0,n){
opt[i]=x[i]+a[i];
}
pq_big(P) que;
rep(i,0,n){
que.push({x[i]+a[i],i});
}
while(!que.empty()){
auto [sm,id]=que.top();
que.pop();
int l=x[id]-a[id],r=x[id]+a[id];
if(m[l]!=0){
int nxt=m[l]-1;
opt[id]=max(opt[id],opt[nxt]);
opt[nxt]=max(opt[id],opt[nxt]);
}
if(m[r]!=0){
int nxt=m[r]-1;
opt[id]=max(opt[id],opt[nxt]);
opt[nxt]=max(opt[id],opt[nxt]);
}
}
rep(i,0,n){
cout<<opt[i]-x[i]<<endl;
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0