Submission #1326745

#TimeUsernameProblemLanguageResultExecution timeMemory
1326745SSKMFJust Long Neckties (JOI20_ho_t1)C++20
100 / 100
88 ms6872 KiB
#include <bits/stdc++.h>
using namespace std;

pair <int , int> sir[200002];
int termen[200001] , prefix[200001] , sufix[200003] , rezultat[200002];

int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int cantitate;
    cin >> cantitate;
    
    for (int indice = 1 ; indice <= cantitate + 1 ; indice++)
        { cin >> sir[indice].first; sir[indice].second = indice; }

    for (int indice = 1 ; indice <= cantitate ; indice++)
        { cin >> termen[indice]; }

    sort(sir + 1 , sir + cantitate + 2);
    sort(termen + 1 , termen + cantitate + 1);

    for (int indice = 1 ; indice <= cantitate ; indice++)
        { prefix[indice] = max(prefix[indice - 1] , sir[indice].first - termen[indice]); }

    for (int indice = cantitate + 1 ; indice > 1 ; indice--)
        { sufix[indice] = max(sufix[indice + 1] , sir[indice].first - termen[indice - 1]); }

    for (int indice = 1 ; indice <= cantitate + 1 ; indice++)
        { rezultat[sir[indice].second] = max(prefix[indice - 1] , sufix[indice + 1]); }

    for (int indice = 1 ; indice <= cantitate + 1 ; indice++)
        { cout << rezultat[indice] << ' '; }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...