제출 #1361291

#제출 시각아이디문제언어결과실행 시간메모리
1361291chubyxdxdDark Ride (EGOI25_darkride)C++20
41 / 100
1 ms500 KiB
#include <bits/stdc++.h>

#define pb push_back
#define sc second
#define ff first
#define all(a) a.begin(),a.end()
#define mem(a,i) memset(a,i,sizeof a)
#define forr(i,n) for(int i=0;i<n;i++)
#define nl '\n'
using namespace std;
typedef long long ll;
typedef pair<ll,ll> ii;
typedef vector<int> vi;


int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin>>n;
    if(n<=30){
      vector<int> v;
      string s="";
      for(int i=0;i<n;i++){
	s+='0';
      }
      for(int i=0;i<n;i++){
	s[i]='1';
	cout<<"? "<<s<<endl;
	int l;
	cin>>l;
	if(l%2==1){
	  v.pb(i);
	}
	s[i]='0';
      }
      cout<<"! "<<v[0]<<" "<<v.back()<<endl;
      return 0;
    }
    //binary search
    int lo=1,hi=n;
    while(hi!=lo){
      int mid = (lo+hi)/2;
      string aux;
      for(int i=0;i<n;i++){
	aux+='0';
      }
      for(int i=lo;i<=mid;i++){
	aux[i]='1';
      }
      cout<<"? "<<aux<<endl;
      int l;
      cin>>l;
      if(l%2==1){
	hi=mid;
      }
      else{
	lo=mid+1;
      }
    }
    cout<<"! "<<0<<" "<<lo<<endl;
}

// pineapple
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…