Submission #596243

#TimeUsernameProblemLanguageResultExecution timeMemory
596243Mohammed_AtalahSimurgh (IOI17_simurgh)C++17
Compilation error
0 ms0 KiB
#include "simurgh.h" #include <bits/stdc++.h> #include <ext/pb_ds/tree_policy.hpp> #include <ext/pb_ds/assoc_container.hpp> using namespace std; using namespace __gnu_pbds; #include <cstdio> #include <cassert> #include <vector> #include <cstdlib> #include <string> using namespace std; static int MAXQ = 30000; static int n, m, q = 0; static vector<int> u, v; static vector<bool> goal; static void wrong_answer() { printf("NO\n"); exit(0); } static bool is_valid(const vector<int>& r) { if(int(r.size()) != n - 1){ cout << "size problem" << endl; return false; } for(int i = 0; i < n - 1; i++) if (r[i] < 0 || r[i] >= m){ cout << "out of index" << endl; return false; } return true; } static int _count_common_roads_internal(const vector<int>& r) { if(!is_valid(r)){ cout << "is not valid" << endl; wrong_answer(); } int common = 0; for(int i = 0; i < n - 1; i++) { bool is_common = goal[r[i]]; if (is_common) common++; } return common; } int count_common_roads(const vector<int>& r) { q++; if(q > MAXQ){ cout << "max problem" << endl; wrong_answer(); } return _count_common_roads_internal(r); } int main() { assert(2 == scanf("%d %d", &n, &m)); u.resize(m); v.resize(m); for(int i = 0; i < m; i++) assert(2 == scanf("%d %d", &u[i], &v[i])); goal.resize(m, false); for(int i = 0; i < n - 1; i++) { int id; assert(1 == scanf("%d", &id)); goal[id] = true; } vector<int> res = find_roads(n, u, v); /////// cout << "hello" << endl; if(_count_common_roads_internal(res) != n - 1) { cout << "a real WA" << endl; for(int i = 0 ; i < res.size(); i++) { cout << res[i] << " "; } cout << endl; wrong_answer(); } printf("YES\n"); return 0; }

Compilation message (stderr)

simurgh.cpp: In function 'int main()':
simurgh.cpp:100:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  100 |         for(int i = 0 ; i < res.size(); i++)
      |                         ~~^~~~~~~~~~~~
/usr/bin/ld: /tmp/ccwvGxBN.o: in function `count_common_roads(std::vector<int, std::allocator<int> > const&)':
grader.cpp:(.text+0x350): multiple definition of `count_common_roads(std::vector<int, std::allocator<int> > const&)'; /tmp/cctGUdjQ.o:simurgh.cpp:(.text+0x210): first defined here
/usr/bin/ld: /tmp/ccwvGxBN.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cctGUdjQ.o:simurgh.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/cctGUdjQ.o: in function `main':
simurgh.cpp:(.text.startup+0x16d): undefined reference to `find_roads(int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
/usr/bin/ld: /tmp/ccwvGxBN.o: in function `main':
grader.cpp:(.text.startup+0x2ef): undefined reference to `find_roads(int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status