Submission #528627

#TimeUsernameProblemLanguageResultExecution timeMemory
528627DanerZeinRoad Closures (APIO21_roads)C++14
7 / 100
41 ms6704 KiB
#include "roads.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAX_N=2e5+10;
ll dp[MAX_N];
int n;
/*ll knap(int id){
  if(id>=n) return 0;
  ll ans=knap(id+1);
  ans=max(knap(id+2)+W[id],ans);
  return ans;
}*/
std::vector<long long> minimum_closure_costs(int N, std::vector<int> U,
                                             std::vector<int> V,
                                             std::vector<int> W) {
  n=N;
  vector<ll> res;
  ll s=0;
  for(int i=0;i<U.size();i++){
    s+=W[i];
  }
  res.push_back(s);
  dp[0]=0;
  for(int i=0;i<N-1;i++){
    dp[i+1]=max(dp[i+1],dp[i]);
    dp[i+2]=max(dp[i+2],dp[i]+W[i]);
  }
  res.push_back(s-max(dp[N],dp[N-1]));
  while(res.size()!=N) res.push_back(0);
  return res;
}

Compilation message (stderr)

roads.cpp: In function 'std::vector<long long int> minimum_closure_costs(int, std::vector<int>, std::vector<int>, std::vector<int>)':
roads.cpp:20:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |   for(int i=0;i<U.size();i++){
      |               ~^~~~~~~~~
roads.cpp:30:19: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   30 |   while(res.size()!=N) res.push_back(0);
      |         ~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...