# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
874085 |
2023-11-16T09:00:55 Z |
Fenixion |
Friend (IOI14_friend) |
C++14 |
|
0 ms |
0 KB |
#include <bits/stdc++.h>
//#include "friend.h"
using namespace std;
#define int long long
int findSample(int n, int confidence[], int host[], int protocol[]) {
vector<vector<int>> adjlist(n, vector<int>(n, 1)); //1 not connected, 0 connected
for (int i=1;i<n;i++) {
if (protocol[i] == 0) {
adjlist[host[i]][i] = 0;
adjlist[i][host[i]] = 0;
}
else if (protocol[i] == 1) {
for (auto x : adjlist[host[i]]) {
if (adjlist[x][host[i]] == 0) {
adjlist[i][x] = 0;
adjlist[x][i] = 0;
}
}
}
else {
for (auto x : adjlist[host[i]]) {
if (adjlist[x][host[i]] == 0) {
adjlist[i][x] = 0;
adjlist[x][i] = 0;
}
}
adjlist[host[i]][i] = 0;
adjlist[i][host[i]] = 0;
}
}
vector<vector<int>> newadj(n+1, vector<int>());
for (int i=0;i<n;i++) {
for (int j=0;j<n;j++) {
if (adjlist[i][j]) {
newadj[i].push_back(j);
newadj[j].push_back(i);
}
}
}
int ans = 0;
if (protocol[1] == 1) {
for (int i=0;i<n;i++) {
ans += confidence[i];
}
}
else if (protocol[1] == 2) {
for (int i=0;i<n;i++) {
ans = max(ans, confidence[i]);
}
}
return ans;
}
signed main() {
ios::sync_with_stdio(); cin.tie(0); cout.tie(0);
int n;
cin >> n;
int confidence[n+5], host[n+5], protocol[n+5];
for (int i=0;i<n;i++) {
cin >> confidence[i];
}
for (int i=1; i<n;i++) {
cin >> host[i] >> protocol[i];
}
cout << findSample(n, confidence, host, protocol);
}
Compilation message
/usr/bin/ld: /tmp/ccCaJyIx.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cctWLo6v.o:friend.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccCaJyIx.o: in function `main':
grader.cpp:(.text.startup+0xdd): undefined reference to `findSample(int, int*, int*, int*)'
collect2: error: ld returned 1 exit status