Submission #1169853

#TimeUsernameProblemLanguageResultExecution timeMemory
1169853jbarejaMinerals (JOI19_minerals)C++20
6 / 100
4 ms416 KiB
#include "minerals.h" #include <bits/stdc++.h> using namespace std; void N_less_or_equal_100(const int N) { vector<bool> known(2*N+1, false); int in_device = 0; int cnt_pairs = 0; for (int i=1; i<=2*N; i++) if (!known[i]) { // szukamy pary dla i in_device = Query(i); // wrzucamy i do maszyny for (int j=i+1; j<=2*N; j++) if (!known[j]) { in_device = Query(j); // wrzucamy j do maszyny if (in_device == 1 + cnt_pairs) { known[i] = true; known[j] = true; Answer(i,j); cnt_pairs++; break; } in_device = Query(j); // wyciągamy j z maszyny } } } void N_less_or_equal_15e3_first_X_second_Y(const int N) { vector<bool> known(2*N+1, false); int in_device = 0; int cnt_pairs = 0; for (int i=1; i<=N; i++) if (!known[i]) { // szukamy pary dla i in_device = Query(i); // wrzucamy i do maszyny for (int j=N+1; j<=2*N; j++) if (!known[j]) { in_device = Query(j); // wrzucamy j do maszyny if (in_device == 1 + cnt_pairs) { known[i] = true; known[j] = true; Answer(i,j); cnt_pairs++; break; } in_device = Query(j); // wyciągamy j z maszyny } } } void Solve(int N) { if (N <= 100) { N_less_or_equal_100(N); return; } N_less_or_equal_15e3_first_X_second_Y(N); }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...