Submission #447852

#TimeUsernameProblemLanguageResultExecution timeMemory
447852MilosMilutinovic친구 (IOI14_friend)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define ll long long #define mp make_pair #define fi first #define se second #define pb push_back #define vi vector<int> #define pi pair<int, int> #define mod 1e9 + 7 template<typename T> bool chkmin(T &a, T b){return (b < a) ? a = b, 1 : 0;} template<typename T> bool chkmax(T &a, T b){return (b > a) ? a = b, 1 : 0;} ll ksm(ll a, ll b) {if (b == 0) return 1; ll ns = ksm(a, b >> 1); ns = ns * ns % mod; if (b & 1) ns = ns * a % mod; return ns;} using namespace std; const int maxn = 1050; vi g[maxn]; ll dp[maxn][2]; int a[maxn]; bool sub2(vector<int> a) { for (int x : a) if (x != 1) return false; return true; } bool sub3(vector<int> a) { for (int x : a) if (x != 2) return false; return true; } void dfs(int u, int p) { vector<ll> s(2); for (int v : g[u]) { if (v != p) { dfs(v, u); s[0] += max(dp[v][0], dp[v][1]); s[1] += dp[v][0]; } } dp[u][1] = a[u] + s[0]; dp[u][0] = s[1]; } ll findSample(int n, vi confidence, vi host, vi protocol) { if (sub2(protocol)) { ll sum = accumulate(confidence.begin(), confidence.end(), 0); return sum; } if (sub3(protocol)) { return *max_element(confidence.begin(), confidence.end()); } if (sub4(protocol)) { for (int i = 1; i < n; i++) g[host[i]].pb(i); for (int i = 0; i < n; i++) a[i] = confidence[i]; ll res = 0; for (int i = 0; i < n; i++) { if (!was[i]) { dfs(i, i); res += max(dp[i][0], dp[i][1]); } } return res; } }

Compilation message (stderr)

friend.cpp: In function 'long long int ksm(long long int, long long int)':
friend.cpp:12:81: error: invalid operands of types 'long long int' and 'double' to binary 'operator%'
   12 | ll ksm(ll a, ll b)  {if (b == 0) return 1; ll ns = ksm(a, b >> 1); ns = ns * ns % mod; if (b & 1) ns = ns * a % mod; return ns;}
      |                                                                         ~~~~~~~ ^
      |                                                                            |
      |                                                                            long long int
friend.cpp:12:111: error: invalid operands of types 'long long int' and 'double' to binary 'operator%'
   12 | ll ksm(ll a, ll b)  {if (b == 0) return 1; ll ns = ksm(a, b >> 1); ns = ns * ns % mod; if (b & 1) ns = ns * a % mod; return ns;}
      |                                                                                                        ~~~~~~ ^
      |                                                                                                           |
      |                                                                                                           long long int
friend.cpp: In function 'long long int findSample(int, std::vector<int>, std::vector<int>, std::vector<int>)':
friend.cpp:50:9: error: 'sub4' was not declared in this scope; did you mean 'sub3'?
   50 |     if (sub4(protocol)) {
      |         ^~~~
      |         sub3
friend.cpp:55:18: error: 'was' was not declared in this scope
   55 |             if (!was[i]) {
      |                  ^~~
friend.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
   62 | }
      | ^