Submission #59005

#TimeUsernameProblemLanguageResultExecution timeMemory
59005tugushkaUnscrambling a Messy Bug (IOI16_messy)C++14
20 / 100
7 ms384 KiB
#include "messy.h"
#include <bits/stdc++.h>
using namespace std;

vector < int > res;

std::vector<int> restore_permutation(int n, int w, int r) {
	for(int i = 1 ; i < n ; i++){
		string now = "";
		for(int j = 0 ; j < i ; j++) now += '0';
		for(int j = 0 ; j < n-i ; j++) now += '1';
		add_element(now);
	}
    compile_set();
    
    string init;
    for(int i = 0 ; i < n ; i++) init += '1';
    
    for(int i = 1 ; i < n ; i++){
    	string now = init;
    	for(int j = 0 ; j < res.size() ; j++) now[ res[j] ] = '0';
    	
    	for(int j = 0 ; j < n ; j++){
    		if( now[j] == '1' ){
    			string tmp = now;
    			tmp[j] = '0';
    			if( check_element( tmp ) ){
//    				cout << i-1 << ' ' << j << endl;
					res.push_back( j );
					break;
				}
			}
		}
	}
	
	int last = n*(n-1)/2;
    for(int i = 0 ; i < res.size() ; i++) last -= res[i];
    res.push_back(last);
    return res;
}

Compilation message (stderr)

messy.cpp: In function 'std::vector<int> restore_permutation(int, int, int)':
messy.cpp:21:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      for(int j = 0 ; j < res.size() ; j++) now[ res[j] ] = '0';
                      ~~^~~~~~~~~~~~
messy.cpp:37:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0 ; i < res.size() ; i++) last -= res[i];
                     ~~^~~~~~~~~~~~
#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...