제출 #494453

#제출 시각아이디문제언어결과실행 시간메모리
494453asiatFloppy (RMI20_floppy)C++14
0 / 100
40 ms3588 KiB
#include <stdlib.h> #include <string.h> #include <bits/stdc++.h> #include "floppy.h" using namespace std; void read_array(int subtask_id, const std::vector<int> &v) { std::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); } std::vector<int> solve_queries(int subtask_id, int N, const std::string &bits, const std::vector<int> &a, const std::vector<int> &b) { std::vector<int> ans; int M = a.size(); for (int i = 0; i < M; i++) { function<pair<int,int>(int, int)> getmax = [&](int l, int r) { l *= 30; r *= 30; int idx = l / 31; pair<int, int> ans = {INT_MIN, 0}; while (l <= r) { int p = 1, sum = 0, cnt = 31; while (cnt--) { if (bits[l] == '1') sum += p; l++; p <<= 1; } ans = max(ans, {sum, idx}); idx++; } return ans; }; ans.push_back(getmax(a[i], b[i]).second); } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

floppy.cpp: In function 'void read_array(int, const std::vector<int>&)':
floppy.cpp:11:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     for (int i = 0; i < v.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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...