이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define endl "\n"
#define finp for(int i=0; i<n; i++)
#define fknp for(int k=0; k<n; k++)
#define yeap cout<<"YES"<<endl
#define nope cout<<"NO"<<endl
#define inpintn int n; cin>>n
#define inpintarrn int arr[n]; for(int i=0; i<n; i++){cin>>arr[i];}
#define inpllarrn long long arr[n]; for(int i=0; i<n; i++){cin>>arr[i];}
#define ll long long
using namespace std;
#include "fish.h"
#include <vector>
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
std::vector<int> W) {
ll vis0[N];
ll vis1[N];
ll sum0 = 0;
ll sum1 = 0;
vector<int> v0[N];
vector<int> v1[N];
for(int i=0; i<N; i++){
vis0[i] = 0;
vis1[i] = 0;
}
// cout << " first loop" << endl;
for(int i=0; i<M; i++){
ll a = Y[i];
ll b = W[i];
if(X[i]==0){
vis0[a] = 1;
sum0 = sum0+b;
v0[a].push_back(b);
} else {
vis1[a] = 1;
sum1 = sum1+b;
v1[a].push_back(b);
}
}
ll ans = sum1;
ll l = 0;
ll r = sum1;
for(int i=0; i<N; i++){
if(i<N){
if(vis0[i]==1){
ll c = v0[i][0];
// cout << "v0" << " " << c << endl;
l = l+c;
}
if(vis1[i]==1){
ll c = v1[i][0];
// cout << "v1" << " " << c << endl;
r = r-c;
}
ll temp = l+r;
ans = max(temp, ans);
}
}
// cout << sum0 << " " << sum1 << endl;
// ans = max(ans, sum1);
ll result = ans;
return result;
// return 0;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |