제출 #1329913

#제출 시각아이디문제언어결과실행 시간메모리
1329913exoworldgdCoreputer (IOI23_coreputer)C++20
컴파일 에러
0 ms0 KiB
#include"coreputer.h"
#include<bits/stdc++.h>
#define ll long long
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
int* malfunctioning_cores(int n){
    int a[n],l=0,r=n-1;
    while(l<r) {
        int m=(l+r)>>1,v[m+1];
		iota(v,v+m+1,0),run_diagnostic(v,m+1)<0?l=m+1:r=m;
    }a[l]=1;
    if(l<n-1)a[n-1]=1;
    for(int i=0;i<l;i++) {
        int v[n-l];
		v[0]=i,iota(v+1,v+n-l,l+1);
        if(run_diagnostic(v,n-l)>0)a[i]=1,a[n-1]^=1;
    }
    for(int i=l+1;i<n-1;i++) {
        int v[l+1];
        v[0]=i,iota(v+1,v+l+1,0);
        if(run_diagnostic(v,l+1)>=0)a[i]=1,a[n-1]^=1;
    }
    return a;
}

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

coreputer.cpp:6:6: error: ambiguating new declaration of 'int* malfunctioning_cores(int)'
    6 | int* malfunctioning_cores(int n){
      |      ^~~~~~~~~~~~~~~~~~~~
In file included from coreputer.cpp:1:
coreputer.h:3:18: note: old declaration 'std::vector<int> malfunctioning_cores(int)'
    3 | std::vector<int> malfunctioning_cores(int N);
      |                  ^~~~~~~~~~~~~~~~~~~~
coreputer.cpp: In function 'int* malfunctioning_cores(int)':
coreputer.cpp:10:48: error: could not convert '(int*)(& v)' from 'int*' to 'std::vector<int>'
   10 |                 iota(v,v+m+1,0),run_diagnostic(v,m+1)<0?l=m+1:r=m;
      |                                                ^
      |                                                |
      |                                                int*
coreputer.cpp:16:27: error: could not convert '(int*)(& v)' from 'int*' to 'std::vector<int>'
   16 |         if(run_diagnostic(v,n-l)>0)a[i]=1,a[n-1]^=1;
      |                           ^
      |                           |
      |                           int*
coreputer.cpp:21:27: error: could not convert '(int*)(& v)' from 'int*' to 'std::vector<int>'
   21 |         if(run_diagnostic(v,l+1)>=0)a[i]=1,a[n-1]^=1;
      |                           ^
      |                           |
      |                           int*
coreputer.cpp:23:12: warning: address of local variable 'a' returned [-Wreturn-local-addr]
   23 |     return a;
      |            ^
coreputer.cpp:7:9: note: declared here
    7 |     int a[n],l=0,r=n-1;
      |         ^