# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
118433 | 2019-06-19T03:18:36 Z | str0ct | 화살표 그리기 (KOI18_arrowH) | C++14 | 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
# | 결과 | 실행 시간 | 메모리 | 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 | - |