Submission #165548

#TimeUsernameProblemLanguageResultExecution timeMemory
165548ArKCaCipele (COCI18_cipele)C++14
9 / 90
1077 ms98480 KiB
#include<bits/stdc++.h> using namespace std; int n,k,m; int dizi1[5000],dizi2[5000],dp[5000][5000]; 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 && ( (n-(crr+1)) <= (m-(i+1)) );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); memset(dp,-1,sizeof(dp)); 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<m;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; } else 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{ int a; for(int i=0;i<n;i++){ scanf("%d",&dizi2[i]); } for(int i=0;i<m;i++){ scanf("%d",&dizi1[i]); } a=n; n=m; m=a; sort(dizi1,dizi1+n); sort(dizi2,dizi2+m); printf("%d\n",dpf(0,0) ); return 0; } }

Compilation message (stderr)

cipele.cpp: In function 'int main()':
cipele.cpp:35: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:39:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi1[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:42:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi2[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:54:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi1[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:57:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi2[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:68:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi2[i]);
    ~~~~~^~~~~~~~~~~~~~~~
cipele.cpp:71:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&dizi1[i]);
    ~~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...