답안 #2961

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
2961 2013-08-19T01:11:42 Z gs13068 Languages (IOI10_languages) C++
61 / 100
1497 ms 9844 KB
#include"grader.h"
#include"lang.h"

int langn[56];
int lang[56][65536];
int a[65536];
int b[100];
int c[100];

void excerpt(int *str)
{
  double max=987654321,maxlang=0;
  double now;
  int i,j,n,sum;
  for(i=0;i<65536;i++)a[i]=0;
  for(i=0;i<100;i++)a[str[i]]++;
  j=0;
  for(i=0;i<65536;i++)if(a[i])
  {
    b[j]=i;
    c[j]=a[i];
    j++;
  }
  for(i=0;i<56;i++)
  {
    if(langn[i]==0)continue;
    sum=langn[i];
    now=0;
    for(j=0;j<100;j++)now+=(1.*lang[i][b[j]]/sum-c[j]/100.)*(1.*lang[i][b[j]]/sum-c[j]/100.);
    if(now<max)
    {
      max=now;
      maxlang=i;
    }
  }
  n=language(maxlang);
  langn[n]+=100;
  for(i=0;i<100;i++)lang[n][b[i]]+=c[i];
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1497 ms 9840 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1362 ms 9844 KB Output is partially correct - 56.96%