Submission #202625

#TimeUsernameProblemLanguageResultExecution timeMemory
202625SamAndJust Long Neckties (JOI20_ho_t1)C++17
100 / 100
145 ms7032 KiB
#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
struct ban
{
    int x, i;
};
bool operator<(const ban& a, const ban& b)
{
    return a.x < b.x;
}

int n;
ban a[N];
int b[N];

int p[N], s[N];

int ans[N];
int main()
{
    scanf("%d", &n);
    for (int i = 1; i <= n + 1; ++i)
    {
        a[i].i = i;
        scanf("%d", &a[i].x);
    }
    for (int i = 1; i <= n; ++i)
        scanf("%d", &b[i]);
    sort(a + 1, a + n + 1 + 1);
    sort(b + 1, b + n + 1);
    for (int i = 1; i <= n; ++i)
    {
        p[i] = max(p[i - 1], a[i].x - b[i]);
    }
    for (int i = n + 1; i >= 2; --i)
    {
        s[i] = max(s[i + 1], a[i].x - b[i - 1]);
    }
    for (int i = 1; i <= n + 1; ++i)
        ans[a[i].i] = max(p[i - 1], s[i + 1]);
    for (int i = 1; i <= n + 1; ++i)
        printf("%d ", ans[i]);
    printf("\n");
    return 0;
}

Compilation message (stderr)

ho_t1.cpp: In function 'int main()':
ho_t1.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
ho_t1.cpp:26:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &a[i].x);
         ~~~~~^~~~~~~~~~~~~~~
ho_t1.cpp:29:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d", &b[i]);
         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...