Submission #864110

#TimeUsernameProblemLanguageResultExecution timeMemory
864110Ice_manTruck Driver (IOI23_deliveries)C++17
Compilation error
0 ms0 KiB
#include "deliveries.h" #include <iostream> #include <vector> #define maxn 100005 #define maxq 300005 #define INF 1000000010 #define endl '\n' using namespace std; long long n; long long t[maxn]; long long c[maxn]; vector <pair <int , int> > v[maxn]; long long ans; long long pom; void dfs(long long node , long long parent = -1) { c[node] = t[node]; for(long long i = 0; i < (long long)v[node].size(); i++) { if(v[node][i].first == parent) continue; dfs(v[node][i].first , node); ans += v[node][i].second * min(c[v[node][i].first] , pom - c[v[node][i].first]) * 2; c[node] += c[v[node][i].first]; } } void init(int N, vector<int> U, vector<int> V, vector<int> T, vector<int> W) { pom = 1; n = N; ///cout << pom << endl; for(long long i = 0; i < (long long)U.size(); i++) v[U[i]].push_back({V[i] , W[i]}); for(long long i = 0; i < (long long)V.size(); i++) v[V[i]].push_back({U[i] , W[i]}); for(long long i = 0; i < T.size(); i++) pom += T[i]; ///cout << pom << endl; for(long long i = 0; i < T.size(); i++) t[i] = T[i]; } long long max_time(int S , int X) { pom -= t[S]; pom += X; t[S] = X; ans = 0; dfs(0 , -1); return ans; } int main() { init(5, {0, 0, 1, 1}, {1, 2, 3, 4}, {1, 2, 3, 1}, {0, 0, 1, 0, 1}); cout << max_time(0 , 1) << endl; return 0; }

Compilation message (stderr)

deliveries.cpp: In function 'void init(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
deliveries.cpp:48:28: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |     for(long long i = 0; i < T.size(); i++) pom += T[i];
      |                          ~~^~~~~~~~~~
deliveries.cpp:52:28: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |     for(long long i = 0; i < T.size(); i++) t[i] = T[i];
      |                          ~~^~~~~~~~~~
/usr/bin/ld: /tmp/ccyRvRFO.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccHHWfBR.o:deliveries.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status