제출 #556889

#제출 시각아이디문제언어결과실행 시간메모리
556889hibikiJust Long Neckties (JOI20_ho_t1)C++11
0 / 100
1 ms212 KiB
#include<bits/stdc++.h>
using namespace std;

#define PB push_back
#define F first
#define S second

int n;
int fl[200200],fr[200200],ans[200200];
vector<int> od;
vector<pair<int,int> > nw;

int main()
{
    scanf("%d",&n);
    od.resize(n);
    nw.resize(n+1);

    for(int i=0;i<n+1;i++)
        scanf("%d",&nw[i].F),nw[i].S=i+1;
    for(int i=0;i<n;i++)
        scanf("%d",&od[i]);
    sort(nw.begin(),nw.end());
    sort(od.begin(),od.end());

    for(int i=0;i<n;i++)
    {
        fl[i]=abs(od[i]-nw[i].F);
        if(i)
            fl[i]=max(fl[i],fl[i-1]);
    }
    ans[nw[n].S]=fl[n-1];

    for(int i=n-1;i>=0;i--)
    {
        fr[i]=abs(od[i]-nw[i+1].F);
        if(i<n-1)
            fr[i]=max(fr[i],fr[i+1]);
        if(i)
            ans[nw[i].S]=max(fl[i-1],fr[i]);
    }
    ans[nw[0].S]=fr[0];

    for(int i=1;i<=n+1;i++)
        printf("%d ",ans[i]);
    printf("\n");

    return 0;
}

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

ho_t1.cpp: In function 'int main()':
ho_t1.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     scanf("%d",&n);
      |     ~~~~~^~~~~~~~~
ho_t1.cpp:20:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |         scanf("%d",&nw[i].F),nw[i].S=i+1;
      |         ~~~~~^~~~~~~~~~~~~~~
ho_t1.cpp:22:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |         scanf("%d",&od[i]);
      |         ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...