Submission #1021542

#TimeUsernameProblemLanguageResultExecution timeMemory
1021542vjudge1Vision Program (IOI19_vision)C++17
44 / 100
8 ms2004 KiB
#include "vision.h" #include <bits/stdc++.h> using namespace std; using ll = long long; using vll = vector <ll>; using vi = vector <int>; void construct_network (int h, int w, int K) { vi th; auto toLine = [&](ll i, ll j) { return 0 <= i && i < h && 0 <= j && j < w ? i*w+j : -16; }; auto getNeigh = [&](ll i, ll j) -> vi { vi ans; for (ll k = 0; k < K; k++) { ans.push_back(toLine(i-K+k, j+k)); ans.push_back(toLine(i+k, j+K-k)); } sort(ans.begin(), ans.end()); ans.resize(unique(ans.begin(), ans.end()) - ans.begin()); if (ans.empty()) return ans; if (ans[0] == -16) ans.erase(ans.begin()); return ans; }; for (ll i = 0; i < h; i++) { for (ll j = 0; j < w; j++) { vi neighs = getNeigh(i, j); if (neighs.empty()) continue; th.push_back(add_and({ toLine(i, j), add_or({ neighs }) })); } } add_or(th); }

Compilation message (stderr)

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:27:42: warning: narrowing conversion of 'toLine.construct_network(int, int, int)::<lambda(ll, ll)>(i, j)' from 'long long int' to 'int' [-Wnarrowing]
   27 |             th.push_back(add_and({ toLine(i, j), add_or({ neighs }) }));
      |                                    ~~~~~~^~~~~~
vision.cpp:27:42: warning: narrowing conversion of 'toLine.construct_network(int, int, int)::<lambda(ll, ll)>(i, j)' from 'long long int' to 'int' [-Wnarrowing]
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...