Submission #61785

#TimeUsernameProblemLanguageResultExecution timeMemory
61785IvanCBuilding Bridges (CEOI17_building)C++17
30 / 100
3087 ms3600 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN = 1e5 + 10; const ll INF = 1e18; ll dp[MAXN],H[MAXN],W[MAXN],pref[MAXN]; int N; int main(){ scanf("%d",&N); for(int i = 1;i<=N;i++){ scanf("%lld",&H[i]); } for(int i = 1;i<=N;i++){ scanf("%lld",&W[i]); pref[i] = W[i] + pref[i-1]; } dp[1] = 0; for(int i = 2;i<=N;i++){ dp[i] = INF; for(int j = 1;j<i;j++){ dp[i] = min(dp[i], dp[j] + (pref[i-1] - pref[j]) + H[i]*H[i] + H[j]*H[j] - 2*H[i]*H[j] ); } } cout << dp[N] << endl; return 0; }

Compilation message (stderr)

building.cpp: In function 'int main()':
building.cpp:14:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&N);
  ~~~~~^~~~~~~~~
building.cpp:16:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld",&H[i]);
   ~~~~~^~~~~~~~~~~~~~
building.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld",&W[i]);
   ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...