제출 #780448

#제출 시각아이디문제언어결과실행 시간메모리
780448devariaotaZagrade (COI20_zagrade)C++17
0 / 100
1 ms356 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,q;
char ans[100005];
int main(){
    cin>>n>>q;
    for (int i=1;i<=100005;i++) ans[i]=' ';
    ll l=1,r=n;
    ll y=0;
    while(true){
        cout<<">>> ? "<<l<<" "<<r<<endl;
        fflush(stdout);
        cin>>y;
        if (y==0){
            l++; r--;
            ans[l]=')';
            ans[r]='(';
        }
        else{
            ans[l]='(';
            ans[r]=')';
            l++; r--;
            break;
        }
    }
    ll lo=l,hi=r;
    while(lo<=hi){
        cout<<">>> ? "<<lo-1<<" "<<lo<<endl;
        fflush(stdout);
        ll x;
        cin>>x;
        if (x==1) {
            if (ans[lo]==' ')
                ans[lo]=')';
            if (ans[lo+1]==' ')
                ans[lo+1]='(';
            lo+=2;
        }
        else{
            if (ans[lo]==' ')
                ans[lo]='(';
            lo+=1;
        }
        cout<<">>> ? "<<hi<<" "<<hi+1<<endl;
        cin>>x;
        fflush(stdout);
        if (x==1){
            if (ans[hi]==' ')
                ans[hi]='(';
            if (ans[hi-1]==' ')
                ans[hi-1]=')';
            hi-=2;
        }
        else{
            if (ans[hi]==' ')
                ans[hi]=')';
            hi-=1;
        }
    }
    for (int i=1;i<=n;i++){
        cout<<ans[i];
    }
}

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

zagrade.cpp: In function 'int main()':
zagrade.cpp:8:39: warning: iteration 100004 invokes undefined behavior [-Waggressive-loop-optimizations]
    8 |     for (int i=1;i<=100005;i++) ans[i]=' ';
      |                                 ~~~~~~^~~~
zagrade.cpp:8:19: note: within this loop
    8 |     for (int i=1;i<=100005;i++) ans[i]=' ';
      |                  ~^~~~~~~~
zagrade.cpp:8:39: warning: 'void* __builtin_memset(void*, int, long unsigned int)' forming offset 100005 is out of the bounds [0, 100005] of object 'ans' with type 'char [100005]' [-Warray-bounds]
    8 |     for (int i=1;i<=100005;i++) ans[i]=' ';
      |                                 ~~~~~~^~~~
zagrade.cpp:5:6: note: 'ans' declared here
    5 | char ans[100005];
      |      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...