제출 #878860

#제출 시각아이디문제언어결과실행 시간메모리
8788608pete8Xoractive (IZhO19_xoractive)C++14
100 / 100
2 ms652 KiB
#include "interactive.h" #include <cstdio> #include <cstdlib> #include <cassert> #include <vector> #include <algorithm> #include<iostream> #include<stack> #include<map> #include<vector> #include<string> #include<unordered_map> #include <queue> #include<cstring> #include<limits.h> #include<cmath> #include<set> #include<algorithm> #include<bitset> using namespace std; #define ll long long #define f first #define endl "\n" #define s second #define pii pair<int,int> #define ppii pair<pii,pii> #define vi vector<int> #define pb push_back //#define p push #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define F(n) for(int i=0;i<n;i++) #define lb lower_bound #define ub upper_bound #define fastio ios::sync_with_stdio(false);cin.tie(NULL); #pragma GCC optimize ("03,unroll-lopps") using namespace std; const int mod=9901,mxn=3*1e5+5; vector<int> guess(int n){ int g=ask(1); map<int,int>pos; for(int i=0;i<7;i++){ vector<int>q; for(int j=2;j<=n;j++)if(j&(1<<i))q.pb(j); if(q.size()<=1){ for(auto j:q)pos[ask(j)]+=(1<<i); continue; } vector<int>a1=get_pairwise_xor(q); q.pb(1); vector<int>a2=get_pairwise_xor(q); int cur=0,j=0; while(cur<a1.size()&&a1[cur]==0)cur++; while(j<a2.size()&&a2[j]==0)j++; for(;j<a2.size();j++){ if(cur<a1.size()&&a1[cur]==a2[j]){ cur++; continue; } pos[a2[j]^g]+=(1<<i); j++; } } vector<int>ans(n); ans[0]=g; for(auto i:pos)ans[i.s-1]=i.f; return ans; }

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

Xoractive.cpp:36:40: warning: bad option '-funroll-lopps' to pragma 'optimize' [-Wpragmas]
   36 | #pragma GCC optimize ("03,unroll-lopps")
      |                                        ^
Xoractive.cpp:40:24: warning: bad option '-funroll-lopps' to attribute 'optimize' [-Wattributes]
   40 | vector<int> guess(int n){
      |                        ^
Xoractive.cpp: In function 'std::vector<int> guess(int)':
Xoractive.cpp:54:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |         while(cur<a1.size()&&a1[cur]==0)cur++;
      |               ~~~^~~~~~~~~~
Xoractive.cpp:55:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |         while(j<a2.size()&&a2[j]==0)j++;
      |               ~^~~~~~~~~~
Xoractive.cpp:56:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |         for(;j<a2.size();j++){
      |              ~^~~~~~~~~~
Xoractive.cpp:57:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |             if(cur<a1.size()&&a1[cur]==a2[j]){
      |                ~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...