제출 #1227447

#제출 시각아이디문제언어결과실행 시간메모리
1227447PVM_pvmNile (IOI24_nile)C++20
컴파일 에러
0 ms0 KiB
#include "nile.h" #include<bits/stdc++.h> using namespace std; #define MAXN 100'007 int n; struct art { long long w,a,b; } ar[MAXN]; bool cmp(art &a, art &b) { return a.w<b.w; } long long dp[MAXN]; vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E) { int Q = (int)E.size(); n=A.size(); for (int q=0;q<n;q++) ar[q]={W[q],A[q],B[q]}; sort(ar,ar+n,cmp); vector<long long> R(Q); for (int curq=0;curq<Q;curq++) { int d=E[curq]; dp[0]=0; dp[1]=ar[0].a; for (int q=2;q<=n;q++) /// { dp[q]=dp[q-1]+ar[q-1].a; long long buf=0; for (int w=q-2;w>=max(0,q-3);w--) { if ((ar[q-1].w-ar[w].w)>d) break; long long cur=dp[w]+(ar[q-1].b)+ar[w].b+buf; if (cur<dp[q]) dp[q]=cur; buf+=ar[w].a; } //cout<<dp[q]<<" t "; } //cout<<"\n"; R[curq]=dp[n]; } return R; } #include "nile.h" #include<bits/stdc++.h> using namespace std; #define MAXN 100'007 int n; struct art { long long w,a,b; } ar[MAXN]; bool cmp(art &a, art &b) { return a.w<b.w; } long long dp[MAXN]; vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E) { int Q = (int)E.size(); n=A.size(); for (int q=0;q<n;q++) ar[q]={W[q],A[q],B[q]}; sort(ar,ar+n,cmp); vector<long long> R(Q); for (int curq=0;curq<Q;curq++) { int d=E[curq]; dp[0]=0; dp[1]=ar[0].a; for (int q=2;q<=n;q++) /// { dp[q]=dp[q-1]+ar[q-1].a; long long buf=0; for (int w=q-2;w>=max(0,q-3);w--) { if ((ar[q-1].w-ar[w].w)>d) break; long long cur=dp[w]+(ar[q-1].b)+ar[w].b+buf; if (cur<dp[q]) dp[q]=cur; buf+=ar[w].a; } //cout<<dp[q]<<" t "; } //cout<<"\n"; R[curq]=dp[n]; } return R; }

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

nile.cpp:50:5: error: redefinition of 'int n'
   50 | int n;
      |     ^
nile.cpp:5:5: note: 'int n' previously declared here
    5 | int n;
      |     ^
nile.cpp:51:8: error: redefinition of 'struct art'
   51 | struct art
      |        ^~~
nile.cpp:6:8: note: previous definition of 'struct art'
    6 | struct art
      |        ^~~
nile.cpp:54:3: error: conflicting declaration 'int ar [100007]'
   54 | } ar[MAXN];
      |   ^~
nile.cpp:9:3: note: previous declaration as 'art ar [100007]'
    9 | } ar[MAXN];
      |   ^~
nile.cpp:55:6: error: redefinition of 'bool cmp(art&, art&)'
   55 | bool cmp(art &a, art &b)
      |      ^~~
nile.cpp:10:6: note: 'bool cmp(art&, art&)' previously defined here
   10 | bool cmp(art &a, art &b)
      |      ^~~
nile.cpp:59:11: error: redefinition of 'long long int dp [100007]'
   59 | long long dp[MAXN];
      |           ^~
nile.cpp:14:11: note: 'long long int dp [100007]' previously declared here
   14 | long long dp[MAXN];
      |           ^~
nile.cpp:60:19: error: redefinition of 'std::vector<long long int> calculate_costs(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)'
   60 | vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E)
      |                   ^~~~~~~~~~~~~~~
nile.cpp:15:19: note: 'std::vector<long long int> calculate_costs(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)' previously defined here
   15 | vector<long long> calculate_costs(vector<int> W, vector<int> A, vector<int> B, vector<int> E)
      |                   ^~~~~~~~~~~~~~~