답안 #118433

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
118433 2019-06-19T03:18:36 Z str0ct 화살표 그리기 (KOI18_arrowH) C++14
0 / 100
2 ms 1152 KB
#include<bits/stdc++.h>
using namespace std;
long long ipt[101010],w[101010],color[101010],opt[101010],sum;
int main(){
    int N;
    scanf("%d",&N);
    for(int i=0;i<N;i++)
        scanf("%lld%lld",&w[i],&ipt[i]);
    memset(color,-1,sizeof(color));
    for(int i=0;i<N;i++){
        if(color[ipt[i]]!=-1)
            opt[i]=w[i]-color[ipt[i]];
        color[ipt[i]]=w[i];
    }
    memset(color,-1,sizeof(color));
    for(int i=N-1;i>=0;i--){
        if(color[ipt[i]]!=-1&&(opt[i]==0||opt[i]>color[ipt[i]]-w[i]))
            opt[i]=color[ipt[i]]-w[i];
        color[ipt[i]]=w[i];
    }
    for(int i=0;i<N;i++)
        sum+=opt[i];
    printf("%lld",sum);
}

Compilation message

arrow.cpp: In function 'int main()':
arrow.cpp:6:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&N);
     ~~~~~^~~~~~~~~
arrow.cpp:8:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%lld%lld",&w[i],&ipt[i]);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1152 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1152 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1152 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 1152 KB Output isn't correct
2 Halted 0 ms 0 KB -