답안 #165527

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
165527 2019-11-27T12:00:32 Z ArKCa Cipele (COCI18_cipele) C++17
컴파일 오류
0 ms 0 KB
#include<bits/stdc++.h>

using namespace std;
int n,k,m;
int dizi1[50005],dizi2[50005],dp[50005][50005];

int dpf(int crr,int r){
	if(crr==(n-1)){
		int mn=INT_MAX;
		for(int i=r;i<m;i++){
			mn=min(mn,abs(dizi1[crr]-dizi2[i]) );
		}
		dp[crr][r]=mn;
		return dp[crr][r];	
	}
	if( (n-crr) > (m-r) ){
		return INT_MAX;
	}
	if(dp[crr][r]!=-1){
		return dp[crr][r];
	}
	int mn=INT_MAX;
	// printf("a\n");
	for(int i=r;i<m;i++){
		mn=min(mn,max( abs(dizi1[crr]-dizi2[i] ),dpf(crr+1,i+1) ) );
	}
	dp[crr][r]=mn;
	return dp[crr][r];
}

int main(){
	// freopen("a.gir","r",stdin);
	// freopen("a.cik","w",stdout);
	for(int i=0;i<50002;i++){
		for(int j=0;j<50002;j++){
			dp[i][j]=-1;
		}
	}
	scanf("%d %d",&n,&m);
	if(n==m){
		int mx=0;
		for(int i=0;i<n;i++){
			scanf("%d",&dizi1[i]);
		}
		for(int i=0;i<n;i++){
			scanf("%d",&dizi2[i]);
		}
		sort(dizi1,dizi1+n);
		sort(dizi2,dizi2+m);
		for(int i=0;i<n;i++){
			mx=max(abs(dizi2[i]-dizi1[i]),mx);
		}
		printf("%d\n",mx );
		return 0;
	}
	if(n<m){
		for(int i=0;i<n;i++){
			scanf("%d",&dizi1[i]);
		}
		for(int i=0;i<m;i++){
			scanf("%d",&dizi2[i]);
		}
		sort(dizi1,dizi1+n);
		sort(dizi2,dizi2+m);
		printf("%d\n",dpf(0,0) );
		return 0;
	}
	else{
		for(int i=0;i<n;i++){
			scanf("%d",&dizi2[i]);
		}
		for(int i=0;i<m;i++){
			scanf("%d",&dizi1[i]);
		}
		swap(n,m);
		sort(dizi1,dizi1+n);
		sort(dizi2,dizi2+m);

		printf("%d\n",dpf(0,0) );
		return 0;	
	}
}

Compilation message

cipele.cpp: In function 'int main()':
cipele.cpp:39:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~~
cipele.cpp:43:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi1[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:46:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi2[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:58:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi1[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:61:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi2[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:70:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi2[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:73:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi1[i]);
    ~~~~~^~~~~~~~~~~~~~~~
/tmp/cc3VbYKs.o: In function `dpf(int, int)':
cipele.cpp:(.text+0x10): relocation truncated to fit: R_X86_64_PC32 against symbol `n' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text+0x16): relocation truncated to fit: R_X86_64_PC32 against symbol `m' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text+0x7e): relocation truncated to fit: R_X86_64_32S against symbol `dizi1' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text+0x86): relocation truncated to fit: R_X86_64_32S against symbol `dizi2' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text+0x96): relocation truncated to fit: R_X86_64_32S against symbol `dizi2' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text+0xf2): relocation truncated to fit: R_X86_64_32S against symbol `dizi1' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text+0xfa): relocation truncated to fit: R_X86_64_32S against symbol `dizi2' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text+0x118): relocation truncated to fit: R_X86_64_PC32 against symbol `m' defined in .bss section in /tmp/cc3VbYKs.o
/tmp/cc3VbYKs.o: In function `main':
cipele.cpp:(.text.startup+0x44): relocation truncated to fit: R_X86_64_32 against symbol `m' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text.startup+0x4b): relocation truncated to fit: R_X86_64_32 against symbol `n' defined in .bss section in /tmp/cc3VbYKs.o
cipele.cpp:(.text.startup+0x5c): additional relocation overflows omitted from the output
collect2: error: ld returned 1 exit status