Submission #1029679

#TimeUsernameProblemLanguageResultExecution timeMemory
1029679OtalpSuper Dango Maker (JOI22_dango3)C++17
100 / 100
5255 ms1752 KiB
#include "dango3.h" #include<bits/stdc++.h> using namespace std; #define pb push_back namespace { int variable_example = 1; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int gen(int i){return rng()%i;} } // namespace void Solve(int N, int M) { int n = N, m = M; map<int, int> us, ddus; vector<int> rs; for(int i=1; i<=n*m; i++){ rs.pb(i); } random_shuffle(rs.begin(), rs.end(), gen); double D=0; for(int i=1; i<=m; i++){ vector<int> d; for(int j: rs){ if(us[j]) continue; d.pb(j); if(ddus[j]) continue; if(d.size() >= n){ int g = Query(d); if(g) break; } } map<int, int> dus; int cnt = 0; D += d.size(); //random_shuffle(d.begin(), d.end(), gen); int b=4; for(int i=0; i<d.size(); i+=b){ vector<int> f; for(int j=i; j<i+b and j < d.size(); j++){ dus[d[j]] = 1; } for(int y: d){ if(dus[y]) continue; f.pb(y); } int g = Query(f); if(!g){ for(int j=i; j<i+b and j < d.size(); j++){ dus[d[j]] = 0; } for(int j=i; j<i+b and j < d.size(); j++){ dus[d[j]] = 1; f.clear(); for(int y: d){ if(dus[y]) continue; f.pb(y); } int g = Query(f); if(!g){ us[d[j]] = 1; dus[d[j]] = 0; cnt++; if(cnt == n) break; } } } } vector<int> f; for(int x: d){ if(us[x]) f.pb(x); else ddus[x] = 1; } //for(int x: f) cout<<x<<' '; //cout<<'\n'; Answer(f); } }

Compilation message (stderr)

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:30:25: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   30 |             if(d.size() >= n){
      |                ~~~~~~~~~^~~~
dango3.cpp:40:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |         for(int i=0; i<d.size(); i+=b){
      |                      ~^~~~~~~~~
dango3.cpp:42:38: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             for(int j=i; j<i+b and j < d.size(); j++){
      |                                    ~~^~~~~~~~~~
dango3.cpp:51:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |                 for(int j=i; j<i+b and j < d.size(); j++){
      |                                        ~~^~~~~~~~~~
dango3.cpp:54:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |                 for(int j=i; j<i+b and j < d.size(); j++){
      |                                        ~~^~~~~~~~~~
dango3.cpp: At global scope:
dango3.cpp:9:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
    9 | int variable_example = 1;
      |     ^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...