답안 #776256

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
776256 2023-07-07T13:57:55 Z m_bezrutchka 친구 (IOI14_friend) C++14
컴파일 오류
0 ms 0 KB
#include <cstdio>
#include <algorithm>
using namespace std;

const int MAXN = 112345;
int dp[2][MAXN];
int confidence[MAXN];
int host[MAXN], protocol[MAXN];
int n;

int solve() {
  for (int i = 0; i < n; i++) {
    dp[0][i] = 0;
    dp[1][i] = confidence[i];
  }

  for (int i = n - 1; i > 0; i--) {
    int w = i;
    int v = host[i];
    if (protocol[i] == 0) {
      // IAmYourFriend
      dp[1][v] = dp[1][v] + dp[0][w];
      dp[0][v] = dp[0][v] + max(dp[0][w], dp[1][w]);
    } else if (protocol[i] == 1) {
      // MyFriendsAreYourFriends
      dp[1][v] = max(dp[0][v] + dp[1][w], max(dp[1][v] + dp[0][w], dp[1][v] + dp[1][w]));
      dp[0][v] = dp[0][v] + dp[0][w];
    } else {
      // WeAreYourFriends
      dp[1][v] = max(dp[0][v] + dp[1][w], dp[1][v] + dp[0][w]);
      dp[0][v] = dp[0][v] + dp[0][w];
    }
  }

  return max(dp[0][0], dp[1][0]);
}

int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &confidence[i]);
  }
  for (int i = 1; i < n; i++) {
    scanf("%d %d", &host[i], &protocol[i]);
  }
  printf("%d\n", solve());
  return 0;
}

Compilation message

friend.cpp: In function 'int main()':
friend.cpp:39:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   39 |   scanf("%d", &n);
      |   ~~~~~^~~~~~~~~~
friend.cpp:41:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   41 |     scanf("%d", &confidence[i]);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~
friend.cpp:44:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |     scanf("%d %d", &host[i], &protocol[i]);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccJX5lmW.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccUUMXrY.o:friend.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccJX5lmW.o:(.bss+0xc3540): multiple definition of `confidence'; /tmp/ccUUMXrY.o:(.bss+0xdb720): first defined here
/usr/bin/ld: /tmp/ccJX5lmW.o:(.bss+0x0): multiple definition of `protocol'; /tmp/ccUUMXrY.o:(.bss+0x20): first defined here
/usr/bin/ld: /tmp/ccJX5lmW.o:(.bss+0x61aa0): multiple definition of `host'; /tmp/ccUUMXrY.o:(.bss+0x6dba0): first defined here
/usr/bin/ld: /tmp/ccJX5lmW.o: in function `main':
grader.cpp:(.text.startup+0xdd): undefined reference to `findSample(int, int*, int*, int*)'
collect2: error: ld returned 1 exit status