이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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)
{
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> W, vector<int> T)
{
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;
}*/
컴파일 시 표준 에러 (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];
| ~~^~~~~~~~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |