제출 #226461

#제출 시각아이디문제언어결과실행 시간메모리
226461thebesJust Long Neckties (JOI20_ho_t1)C++14
100 / 100
315 ms18680 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int,int> pii;

const int MN = 2e5+5;
int N, i, b[MN], ans[MN];
pii a[MN];
multiset<int> dif;

int main(){
    for(scanf("%d",&N),i=1;i<=N+1;i++){
        scanf("%d",&a[i].first);
        a[i].second=i;
    }
    for(i=1;i<=N;i++)
        scanf("%d",&b[i]);
    sort(b+1,b+N+1);
    sort(a+1,a+N+2,[](pii i,pii j){return i.first<j.first;});
    for(i=1;i<=N;i++)
        dif.insert(a[i].first-b[i]);
    for(i=N+1;i>=1;i--){
        auto it=dif.end(); it--;
        ans[a[i].second]=max(0,*it);
        if(i!=1){
            int ot = i-1;
            dif.erase(dif.find(a[i-1].first-b[ot]));
            dif.insert(a[i].first-b[ot]);
        }
    }
    for(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:13:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(scanf("%d",&N),i=1;i<=N+1;i++){
         ~~~~~~~~~~~~~~^~~~
ho_t1.cpp:14:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&a[i].first);
         ~~~~~^~~~~~~~~~~~~~~~~~
ho_t1.cpp:18: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...