제출 #118436

#제출 시각아이디문제언어결과실행 시간메모리
118436str0ct화살표 그리기 (KOI18_arrowH)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h>
using namespace std;
long long color[101010],opt[101010],sum;
typedef struct{
    long long ipt,w;
}nd;
bool operator<(nd a,nd b){
    return a.w<b.w;
}
nd arr[101010];
int main(){
    int N;
    scanf("%d",&N);
    for(int i=0;i<N;i++)
        scanf("%lld%lld",&arr[i].w,&arr[i].ipt);
    sort(arr,arr+n);
    memset(color,-1,sizeof(color));
    for(int i=0;i<N;i++){
        if(color[arr[i].ipt]!=-1)
            opt[i]=arr[i].w-color[arr[i].ipt];
        color[arr[i].ipt]=arr[i].w;
    }
    memset(color,-1,sizeof(color));
    for(int i=N-1;i>=0;i--){
        if(color[arr[i].ipt]!=-1&&(opt[i]==0||opt[i]>color[arr[i].ipt]-arr[i].w))
            opt[i]=color[arr[i].ipt]-arr[i].w;
        color[arr[i].ipt]=arr[i].w;
    }
    for(int i=0;i<N;i++)
        sum+=opt[i];
    printf("%lld",sum);
}

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

arrow.cpp: In function 'int main()':
arrow.cpp:16:18: error: 'n' was not declared in this scope
     sort(arr,arr+n);
                  ^
arrow.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&N);
     ~~~~~^~~~~~~~~
arrow.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld%lld",&arr[i].w,&arr[i].ipt);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~