Submission #47204

# Submission time Handle Problem Language Result Execution time Memory
47204 2018-04-29T05:12:00 Z Kmcode Hidden Sequence (info1cup18_hidden) C++14
15 / 100
10 ms 504 KB
#include "bits/stdc++.h"
#include "grader.h"
using namespace std;
vector<int> calc(vector<int> v, int add,int lim,int n) {
	vector<pair<int, int> > vv;
	vector<int> v1;
	for (int i = v.size(); i >= 0; i--) {
		vector<int> tmp;
		tmp = v;
		int z = 0;
		while (1) {
			tmp.insert(tmp.begin() + tmp.size() - i, add);
			if (tmp.size() > lim) {
				tmp.pop_back();
				break;
			}
			if (isSubsequence(tmp)) {

			}
			else {
				tmp.pop_back();
				break;
			}
			z++;
		}
		v1.push_back(z);
	}
	int sum = n-v.size();
	for (int el : v1) {
		sum -= el;
	}
	int id = max_element(v1.begin(), v1.end()) - v1.begin();
	v1[id] += sum;
	int z = v.size();
	for (int i = z; i >= 0; i--) {
		while (v1[z - i]--) {
			v.insert(v.begin() + v.size() - i, add);
		}
	}
	return v;
}
vector<int> findSequence(int N) {
	vector<int> zero;
	vector<int> one;
	for (int i = 0; i < N/2 +1; i++) {
		zero.push_back(0);
		one.push_back(1);
		if (isSubsequence(zero)) {

		}
		else{
			zero.pop_back();
		}
		if (!isSubsequence(one)) {
			one.pop_back();
		}
	}
	while (zero.size() + one.size() < N) {
		if (zero.size() > one.size()) {
			zero.push_back(0);
		}
		else {
			one.push_back(1);
		}
	}
	if (one.size() > zero.size()) {
		return calc(zero, 1, (N) / 2 + 3, N);
	}
	else {
		return calc(one, 0, (N) / 2 + 3,N);
	}
}

Compilation message

hidden.cpp: In function 'std::vector<int> calc(std::vector<int>, int, int, int)':
hidden.cpp:13:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if (tmp.size() > lim) {
        ~~~~~~~~~~~^~~~~
hidden.cpp: In function 'std::vector<int> findSequence(int)':
hidden.cpp:58:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while (zero.size() + one.size() < N) {
         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
grader.cpp: In function 'int main()':
grader.cpp:28:43: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type {aka long unsigned int}' [-Wformat=]
     fprintf (fifo_out, "%d\n", ans.size ());
                                ~~~~~~~~~~~^
grader.cpp:29:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i=0; i<ans.size () && i < N; i++)
                   ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Partially correct 2 ms 376 KB Output is partially correct: Maximum length of a query = 7
2 Partially correct 2 ms 376 KB Output is partially correct: Maximum length of a query = 8
3 Partially correct 2 ms 496 KB Output is partially correct: Maximum length of a query = 7
4 Partially correct 2 ms 496 KB Output is partially correct: Maximum length of a query = 7
5 Partially correct 2 ms 496 KB Output is partially correct: Maximum length of a query = 6
# Verdict Execution time Memory Grader output
1 Partially correct 7 ms 496 KB Output is partially correct: Maximum length of a query = 85
2 Partially correct 10 ms 504 KB Output is partially correct: Maximum length of a query = 92
3 Incorrect 6 ms 504 KB Output is not correct: The returned sequence does not match the hidden one
4 Halted 0 ms 0 KB -