제출 #566916

#제출 시각아이디문제언어결과실행 시간메모리
566916shrimbJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
137 ms15064 KiB
#pragma GCC optimize ("Ofast")
#pragma GCC target ("avx,avx2,fma")

#include"bits/stdc++.h"
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

template<class x>
using ordered_set = tree<x, null_type,less<x>, rb_tree_tag,tree_order_statistics_node_update>;

#define int long long
#define endl '\n'
#define mod 1000000007
//\
#define mod 1686876991

signed main () {
    cin.tie(0)->sync_with_stdio(0);
    int n;
    cin >> n;
    pair<int,int> a[n + 1];
    int b[n];
    for (int i = 0 ; i < n + 1 ; i++) cin >> a[i].first, a[i].second = i;
    for (int i = 0 ; i < n ; i++) cin >> b[i];
    sort(a, a + n + 1);
    sort(b, b + n);
    int pref[n];
    for (int i = 0 ; i < n ; i++) {
        pref[i] = a[i].first - b[i];
        if (i) pref[i] = max(pref[i-1], pref[i]);
    }
    int suff[n+2];
    memset(suff, 0, sizeof suff);
    for (int i = n - 1 ; i >= 0 ; i--) {
        suff[i] = a[i+1].first - b[i];
        if (i < n - 1) suff[i] = max(suff[i+1], suff[i]);
    }
    int c[n+2];
    memset(c,0,sizeof c);
    for (int i = 0 ; i < n + 1 ; i++) {
        c[a[i].second] = 0;
        if (i) c[a[i].second] = pref[i-1];
        c[a[i].second] = max(c[a[i].second], suff[i]);
    }
    for (int i = 0 ; i < n + 1 ; i++) cout << c[i] << " ";
}

컴파일 시 표준 에러 (stderr) 메시지

ho_t1.cpp:17:1: warning: multi-line comment [-Wcomment]
   17 | //\
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...