Submission #494477

# Submission time Handle Problem Language Result Execution time Memory
494477 2021-12-15T14:21:19 Z maks007 Floppy (RMI20_floppy) C++14
7 / 100
40 ms 3596 KB
#include <stdlib.h>
#include <string.h>
#include <bits/stdc++.h>
#include "floppy.h"
using namespace std;

string to_bin(int n) {
	string bin = "";
	for(int i = 0; i < 31; i ++) {
		if(n & (1 << i)) bin += '1';
		else bin += '0'; 
	}
	return bin;
}

void read_array(int subtask_id, const vector<int> &v) {
    //vector <bitset <32>> bit(v.size());
    string bits = "";
    for(int i = 0; i < v.size(); i ++) {
    	for(int j = 0; j <= 30; j ++) {
    		if(v[i] & (1 << j)) bits += "1";
    		else bits += "0";
		}
	}
	save_to_floppy(bits);
}


vector<int> solve_queries(int subtask_id, int N,
        const string &bits,
        const vector<int> &a, const vector<int> &b) {
	
  	vector <int> ans;
  	for(int i = 0; i < a.size(); i ++) {
  		function <pair <int, int> (int , int)> mxx=[&](int l, int r) {
  			l *= 31;
			r *= 31;	
			int idx = l / 31;
			pair <int, int> ans = {INT_MIN, 0};
			while(l <= r) {
				int pov = 1, sum = 0, cnt = 31;
				while(cnt --) {
					if(bits[l] == '1') sum += pov;
					pov <<= 1;
					l ++;
				}
				ans = max(ans, {sum, idx});
				idx ++;
			}
			return ans;
		};
  		ans.push_back(mxx(a[i], b[i]).second);	
	}
	return ans;
}

Compilation message

floppy.cpp: In function 'void read_array(int, const std::vector<int>&)':
floppy.cpp:19:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for(int i = 0; i < v.size(); i ++) {
      |                    ~~^~~~~~~~~~
floppy.cpp: In function 'std::vector<int> solve_queries(int, int, const string&, const std::vector<int>&, const std::vector<int>&)':
floppy.cpp:34:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |    for(int i = 0; i < a.size(); i ++) {
      |                   ~~^~~~~~~~~~
stub.cpp: In function 'void run2()':
stub.cpp:101:30: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  101 |     if (query_answers.size() != M) {
      |         ~~~~~~~~~~~~~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Correct 7 ms 788 KB Output is correct
2 Correct 7 ms 888 KB Output is correct
3 Correct 9 ms 780 KB Output is correct
4 Correct 9 ms 764 KB Output is correct
5 Correct 8 ms 772 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 12 ms 1360 KB L is too large
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 40 ms 3596 KB L is too large
2 Halted 0 ms 0 KB -