結果

問題 No.2482 Sandglasses
ユーザー askr58
提出日時 2023-09-22 22:51:02
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 234 ms / 2,000 ms
コード長 822 bytes
コンパイル時間 4,293 ms
コンパイル使用メモリ 256,936 KB
最終ジャッジ日時 2025-02-17 00:59:02
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます

ソースコード

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

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
using ll=long long;
int main()
{ int n,k,t;
cin>>n>>k>>t;
t%=2*k;
vector<bool> right(n);
for(int i=0;i<n;i++){
char c;
cin>>c;
if(c=='B')right[i]=true;
}
vector<pair<int,int>> o(n);
vector<int> p(n);
for(int i=0;i<n;i++){
int b;
cin>>b;
o[i]={b,i};
if(right[i])b+=t;
else b-=t;
while(b>k||b<0){
if(b>k)b=2*k-b;
if(b<0)b=-b;
}
p[i]=b;
}
sort(o.begin(),o.end());
sort(p.begin(),p.end());
vector<int> ans(n);
for(int i=0;i<n;i++){
ans[o[i].second]=p[i];
}
for(int i=0;i<n-1;i++){
cout<<ans[i]<<" ";
}
cout<<ans[n-1]<<endl;
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0