Submission #792059

#TimeUsernameProblemLanguageResultExecution timeMemory
792059caganyanmazFriend (IOI14_friend)C++17
27 / 100
30 ms1364 KiB
#include <bits/stdc++.h> #define pb push_back #include "friend.h" using namespace std; int n; int *conf; int *h; int *p; constexpr static int IAM = 0; constexpr static int MYF = 1; constexpr static int WER = 2; constexpr static int MX1 = 10; int c[MX1][MX1]; int subtask1() { for (int i = 1; i < n; i++) { if (p[i] == IAM || p[i] == WER) c[h[i]][i] = c[i][h[i]] = 1; if (p[i] == MYF || p[i] == WER) for (int j = 0; j < i; j++) if (c[j][h[i]]) c[j][i] = c[i][j] = 1; } int res = 0; for (int i = 0; i < (1<<n); i++) { vector<int> v; for (int j = 0; j < n; j++) if (i & (1<<j)) v.pb(j); bool found = false; for (int j = 0; j < v.size(); j++) for (int k = j+1; k < v.size(); k++) if (c[v[j]][v[k]]) found = true; if (found) continue; int sum = 0; for (int i : v) sum += conf[i]; res = max(res, sum); } return res; } int subtask2() { int sum = 0; for (int i = 0; i < n; i++) sum += conf[i]; return sum; } int subtask3() { int best = 0; for (int i = 0; i < n; i++) best = max(best, conf[i]); return best; } // Find out best sample int findSample(int _n,int _conf[],int _h[],int _p[]) { n = _n; conf = _conf; h = _h; p = _p; if (n <= 10) return subtask1(); bool seen_wer = p[1] == WER; int current = p[1]; for (int i = 2; i < n; i++) { if (p[i] != current) current = -1; if (p[i] == WER) seen_wer = true; } if (current == MYF) return subtask2(); if (current == WER) return subtask3(); return 0; }

Compilation message (stderr)

friend.cpp: In function 'int subtask1()':
friend.cpp:37:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |                 for (int j = 0; j < v.size(); j++)
      |                                 ~~^~~~~~~~~~
friend.cpp:38:45: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |                         for (int k = j+1; k < v.size(); k++)
      |                                           ~~^~~~~~~~~~
friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:76:14: warning: variable 'seen_wer' set but not used [-Wunused-but-set-variable]
   76 |         bool seen_wer = p[1] == WER;
      |              ^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...