Submission #827750

#TimeUsernameProblemLanguageResultExecution timeMemory
827750AlesL0Mechanical Doll (IOI18_doll)C++17
6 / 100
739 ms14608 KiB
#include <bits/stdc++.h> #include "doll.h" using namespace std; int current = 1; vector <int> X, Y, C; bool check_same(vector <int> v){ for (int i = 0; i < v.size()-1; i++)if (v[i] != v[i+1])return 0; return 1; } int solve(vector <int> v){ if (check_same(v))return v[0]; vector <int> v1, v2; for (int i = 0; i < v.size(); i+=2)v1.push_back(v[i]); for (int i = 1; i < v.size(); i+=2)v2.push_back(v[i]); int c = current++; int a = solve(v1), b = solve(v2); X.push_back(a); Y.push_back(b); return -c; } void create_circuit(int M, std::vector<int> A) { vector <vector <int>> dest(M+1); A.push_back(0); dest[0].push_back(A[0]); for (int i = 0; i < A.size()-1; i++)dest[A[i]].push_back(A[i+1]); C.resize(M+1); for (int i = 0; i <= M; i++){ if (dest[i].empty()){ C[i] = i; continue; } C[i] = solve(dest[i]); } for (auto x : C)cerr << x << " "; cerr << "\n"; for (int i = 0; i < X.size(); i++)cerr << X[i] << " " << Y[i] << "\n"; answer(C, X, Y); }

Compilation message (stderr)

doll.cpp: In function 'bool check_same(std::vector<int>)':
doll.cpp:10:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for (int i = 0; i < v.size()-1; i++)if (v[i] != v[i+1])return 0;
      |                     ~~^~~~~~~~~~~~
doll.cpp: In function 'int solve(std::vector<int>)':
doll.cpp:17:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     for (int i = 0; i < v.size(); i+=2)v1.push_back(v[i]);
      |                     ~~^~~~~~~~~~
doll.cpp:18:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |     for (int i = 1; i < v.size(); i+=2)v2.push_back(v[i]);
      |                     ~~^~~~~~~~~~
doll.cpp: In function 'void create_circuit(int, std::vector<int>)':
doll.cpp:30:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |     for (int i = 0; i < A.size()-1; i++)dest[A[i]].push_back(A[i+1]);
      |                     ~~^~~~~~~~~~~~
doll.cpp:41:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     for (int i = 0; i < X.size(); i++)cerr << X[i] << " " << Y[i] << "\n";
      |                     ~~^~~~~~~~~~
#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...