제출 #1251958

#제출 시각아이디문제언어결과실행 시간메모리
1251958tamzidFinding Routers (IOI20_routers)C++20
0 / 100
3 ms580 KiB
#include "routers.h"
#include <bits/stdc++.h>
using namespace std;

std::vector<int> find_routers(int l, int n, int q) {
  //   int idx = use_detector(0);
  //   std::vector<int> ans;
  //   for (int i = 0; i < n; i++) {
	// 	ans.push_back(0);
	// }
	// return ans;

  std::vector<int> ans;
  vector<int> each_pos(l + 1, -1);
  vector<bool> done(l + 1, false);
  done[0] = true;
  ans.push_back(0);
  for(int i=1;i<=l;++i)
  {
    each_pos[i] = use_detector(i);
  }
  int prev = 0; bool is_f = true;
  for(int i=1;i<l;++i)
  {
    if(i % 2 == 1) // actually even because 0-indexed
    {
      if(!done[each_pos[i]] and each_pos[i] == each_pos[i + 1])
      {
        done[each_pos[i]] = true;
        ans.push_back(i + ((i - prev) / 2));
        prev = i;
      }
    }
    else
    {
      if(done[each_pos[i]] and each_pos[i] != each_pos[i + 1])
      {
        done[each_pos[i + 1]] = true;
        ans.push_back((each_pos[i] == 0 ? i * 2 : (i - 1) + ((i - 1) - prev) / 2));
        prev = i - 1;
      }
    }
  }
  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...