zp1596_w.cpp

来自「浙江大学acm在线判题器代码集。 本人在浙大acm判题器上的所有代码(心血) 」· C++ 代码 · 共 64 行

CPP
64
字号
//---------------------------------------------------------------------------

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
#include <iostream.h>
#include <iomanip.h>
int main(int argc, char* argv[])
{
  long int p[20010];
  int a,b,c,i,j,k,t,h,r;
  while (cin>>p[1]>>p[2]>>p[3]>>k)
  {
    for (i=4;i<20010;i++)
      p[i]=0;
    for (i=1;i<3;i++)
      for (j=i+1;j<4;j++)
        if (p[i]>p[j])
        { t=p[i];p[i]=p[j];p[j]=t;}
    a=p[1];
    b=p[2];
    c=p[3];
    h=0; t=3;
    while (h<k)
    {
      h++;
      if (h>t)
        break;
      r=t;
      while (p[r]>p[h]*a) r--;
      if (p[r]<p[h]*a)
      {
        for (i=t;i>r;i--)
          p[i+1]=p[i];
        p[r+1]=p[h]*a;
        t++;
      }
      r=t;
      while (p[r]>p[h]*b) r--;
      if (p[r]<p[h]*b)
      {
        for (i=t;i>r;i--)
          p[i+1]=p[i];
        p[r+1]=p[h]*b;
        t++;
      }
      r=t;
      while (p[r]>p[h]*c) r--;
      if (p[r]<p[h]*c)
      {
        for (i=t;i>r;i--)
          p[i+1]=p[i];
        p[r+1]=p[h]*c;
        t++;
      }
    }
    cout<<p[k]<<endl;
  }
  return 0;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?