結果
| 問題 |
No.1234 典型RMQ
|
| コンテスト | |
| ユーザー |
tails
|
| 提出日時 | 2020-10-06 10:36:03 |
| 言語 | cLay (20241019-1) |
| 結果 |
TLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 718 bytes |
| コンパイル時間 | 2,355 ms |
| コンパイル使用メモリ | 179,296 KB |
| 実行使用メモリ | 18,116 KB |
| 最終ジャッジ日時 | 2024-07-05 14:27:01 |
| 合計ジャッジ時間 | 17,037 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 3 |
| other | AC * 20 TLE * 1 -- * 6 |
ソースコード
// 座標圧縮してあとは愚直
int cc(int n, int arr[], ll values[], void *mem = wmem){
int i;
int k = 0;
int j;
pair<int,int>*r;
walloc1d(&r, n, &mem);
for(i=(0);i<(n);i++){
r[i].first = arr[i];
r[i].second = i;
}
sort(r, r+n);
j=r[0].first;
for(i=(0);i<(n);i++){
if(i && r[i].first != j){
values[k]=values[j];
while(++j<r[i].first){
values[k]<?=values[j];
}
k++;
}
arr[r[i].second] = k;
}
return k+1;
}
int n,q,k[1d5],lr[2d5],c[1d5];
ll a[1d5];
{
rd(n,a(n),q);
rep(i,q){
rd(k[i],lr[2i]--,lr[2i+1],c[i]);
}
cc(2q,lr,a);
rep(i,q){
if(k[i]==1){
REP(j,lr[2i],lr[2i+1]) a[j]+=c[i];
}else{
ll z=ll_inf;
REP(j,lr[2i],lr[2i+1]) z<?=a[j];
wt(z);
}
}
}
tails