Submission #1850

#TimeUsernameProblemLanguageResultExecution timeMemory
1850alephnull대표 선수 (KOI11_player)C++98
0.80 / 20
240 ms4416 KiB
#include <cstdio> #include <algorithm> using namespace std; int main(){ int n,m;scanf("%d %d",&n,&m); int a[n][m]; for(int i=0;i<n;i++) for(int j=0;j<m;j++) scanf("%d",&a[i][j]); for(int i=0;i<n;i++) sort(a[i],a[i]+m); int ans=987654321; int p[n]; for(int i=0;i<n;i++)p[i]=0; int cnt=0; int min=0,second=0,max=0; while(cnt!=n*(m-1)){ if(cnt==0){ for(int i=0;i<n;i++){ if(a[i][p[i]]<a[min][p[min]])min=i; if(a[i][p[i]]>a[max][p[max]])max=i; } for(int i=0;i<n;i++){ if(a[i][p[i]]<a[second][p[second]]&&a[second][p[second]]>a[min][p[min]]) second=i; } } else{ if(a[min][p[min]]>a[max][p[max]]){ int tmp=min; min=max; max=tmp; } if(a[min][p[min]]>a[second][p[second]]){ int tmp=second; second=min; min=tmp; } } //printf("%d %d\n",min,max); if(ans>a[max][p[max]]-a[min][p[min]])ans=a[max][p[max]]-a[min][p[min]]; if(p[min]==m-1)break; p[min]++; cnt++; } printf("%d",ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...