提出 #72893517
ソースコード 拡げる
#include <bits/stdc++.h>
#define rep(i, s, e) for (ll i = (ll)(s); i < (ll)(e); ++i)
#define rrep(i, s ,e) for (ll i = (ll)(s); i > (ll)(e); --i)
using namespace std;
typedef long long ll;
const ll INF = 1LL << 60;
const ll MOD = 998244353;
//const ll MOD = 1000000007;
template <typename T>
struct SegmentTree {
private:
int n;
vector<T> node;
T e = 0;//単位元
public:
SegmentTree(vector<T> v) {
ll sz = (ll)v.size();
n = 1; while(n < sz) n *= 2;
node.resize(2*n-1, e);
for(ll i=0; i<sz; i++) node[i+n-1] = v[i];
for(ll i=n-2; i>=0; i--) node[i] = merge(node[i*2+1],node[i*2+2]);
}
T merge(T a,T b){
//
}
void update(ll k, T val) {
k += (n - 1);
node[k] = val;
while(k > 0) {
k = (k - 1) / 2;
node[k] = merge(node[2*k+1],node[2*k+2]);
}
}
T query(ll a, ll b, ll k=0, ll l=0, ll r=-1) {
if(r < 0) r = n;
if(b <= l || r <= a) return e;
if(a <= l && r <= b) return node[k];
T vl = query(a, b, 2*k+1, l, (l+r)/2);
T vr = query(a, b, 2*k+2, (l+r)/2, r);
return merge(vl,vr);
}
T operator[](ll at){
at += n-1;
return node[at];
}
};
void solve(){
ll ans = 0;
ll n;cin >> n;
vector<ll> v(n);
vector<ll> c(n);
rep(i,0,n)cin >> v[i];
vector<pair<ll,ll>> a(n);
rep(i,0,n)a[i] = {v[i],i};
sort(a.begin(),a.end());
set<ll> st;
st.insert(-1);
st.insert(INF);
c[a[0].second] = a[0].first;
st.insert(a[0].second);
rep(i,1,n){
auto[x,pos] = a[i];
auto it = st.lower_bound(pos);
auto it2 = it--;
ll res = x;
if(*it != INF){
ll k = *it;
res = min(res,c[k]+abs(pos-k));
}
if(*it2 != -1 && *it2 != INF){
//cout << *it2 << endl;
ll k = *it2;
res = min(res,c[k]+abs(pos-k));
}
c[pos] = res;
st.insert(pos);
}
rep(i,0,n)ans += (v[i]-c[i]);
//for(auto x:c)cout << x << " ";
cout << ans << endl;
}
int main(){
cin.tie(0);cout.tie(0);
ios_base::sync_with_stdio(false);
ll t;cin >> t;
while(t--){
solve();
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Pawn Line |
| ユーザ | KH8047 |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 400 |
| コード長 | 2362 Byte |
| 結果 | AC |
| 実行時間 | 158 ms |
| メモリ | 26952 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 400 / 400 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt |
| All | killer_01.txt, killer_02.txt, killer_03.txt, killer_04.txt, killer_05.txt, killer_06.txt, sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| killer_01.txt | AC | 106 ms | 26812 KiB |
| killer_02.txt | AC | 104 ms | 26792 KiB |
| killer_03.txt | AC | 95 ms | 26704 KiB |
| killer_04.txt | AC | 97 ms | 26860 KiB |
| killer_05.txt | AC | 105 ms | 26704 KiB |
| killer_06.txt | AC | 106 ms | 26812 KiB |
| sample_01.txt | AC | 1 ms | 3560 KiB |
| test_01.txt | AC | 29 ms | 3596 KiB |
| test_02.txt | AC | 32 ms | 3596 KiB |
| test_03.txt | AC | 36 ms | 3628 KiB |
| test_04.txt | AC | 40 ms | 3596 KiB |
| test_05.txt | AC | 45 ms | 3624 KiB |
| test_06.txt | AC | 43 ms | 3600 KiB |
| test_07.txt | AC | 41 ms | 3596 KiB |
| test_08.txt | AC | 40 ms | 3624 KiB |
| test_09.txt | AC | 40 ms | 3624 KiB |
| test_10.txt | AC | 40 ms | 3560 KiB |
| test_11.txt | AC | 40 ms | 3480 KiB |
| test_12.txt | AC | 54 ms | 3644 KiB |
| test_13.txt | AC | 55 ms | 3688 KiB |
| test_14.txt | AC | 66 ms | 3852 KiB |
| test_15.txt | AC | 66 ms | 3680 KiB |
| test_16.txt | AC | 88 ms | 5692 KiB |
| test_17.txt | AC | 88 ms | 5980 KiB |
| test_18.txt | AC | 88 ms | 6040 KiB |
| test_19.txt | AC | 88 ms | 5840 KiB |
| test_20.txt | AC | 151 ms | 26744 KiB |
| test_21.txt | AC | 150 ms | 26872 KiB |
| test_22.txt | AC | 150 ms | 26952 KiB |
| test_23.txt | AC | 150 ms | 26952 KiB |
| test_24.txt | AC | 150 ms | 26760 KiB |
| test_25.txt | AC | 150 ms | 26632 KiB |
| test_26.txt | AC | 151 ms | 26704 KiB |
| test_27.txt | AC | 150 ms | 26692 KiB |
| test_28.txt | AC | 151 ms | 26744 KiB |
| test_29.txt | AC | 151 ms | 26816 KiB |
| test_30.txt | AC | 120 ms | 15952 KiB |
| test_31.txt | AC | 117 ms | 13516 KiB |
| test_32.txt | AC | 157 ms | 25528 KiB |
| test_33.txt | AC | 122 ms | 16352 KiB |
| test_34.txt | AC | 146 ms | 22556 KiB |
| test_35.txt | AC | 148 ms | 23520 KiB |
| test_36.txt | AC | 121 ms | 13432 KiB |
| test_37.txt | AC | 130 ms | 18256 KiB |
| test_38.txt | AC | 158 ms | 25268 KiB |
| test_39.txt | AC | 123 ms | 17732 KiB |
| test_40.txt | AC | 99 ms | 26704 KiB |
| test_41.txt | AC | 98 ms | 26812 KiB |
| test_42.txt | AC | 86 ms | 26812 KiB |
| test_43.txt | AC | 85 ms | 26832 KiB |
| test_44.txt | AC | 83 ms | 26820 KiB |
| test_45.txt | AC | 84 ms | 26820 KiB |
| test_46.txt | AC | 84 ms | 26644 KiB |
| test_47.txt | AC | 81 ms | 26820 KiB |
| test_48.txt | AC | 82 ms | 26760 KiB |
| test_49.txt | AC | 122 ms | 26820 KiB |
| test_50.txt | AC | 104 ms | 26820 KiB |
| test_51.txt | AC | 120 ms | 26780 KiB |
| test_52.txt | AC | 136 ms | 26952 KiB |
| test_53.txt | AC | 141 ms | 26688 KiB |
| test_54.txt | AC | 136 ms | 26760 KiB |
| test_55.txt | AC | 149 ms | 26832 KiB |
| test_56.txt | AC | 149 ms | 26740 KiB |
| test_57.txt | AC | 149 ms | 26744 KiB |
| test_58.txt | AC | 149 ms | 26812 KiB |
| test_59.txt | AC | 151 ms | 26832 KiB |
| test_60.txt | AC | 149 ms | 26772 KiB |
| test_61.txt | AC | 148 ms | 26704 KiB |
| test_62.txt | AC | 149 ms | 26808 KiB |
| test_63.txt | AC | 149 ms | 26812 KiB |
| test_64.txt | AC | 72 ms | 26744 KiB |
| test_65.txt | AC | 72 ms | 26692 KiB |