結果

問題 No.634 硬貨の枚数1
ユーザー bennkei0327
提出日時 2018-01-24 20:52:58
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 932 bytes
コンパイル時間 534 ms
コンパイル使用メモリ 64,792 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-12-26 07:54:39
合計ジャッジ時間 2,361 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 9 WA * 66
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<iostream>
using namespace std;

class en{
  int N;
  int mine[100000];
  int ans;
  int MAX;
  int p;
public:
  en();
  void show();
  void max();
  void cal();
};

en::en()
{
  int n;
  cin >> n;
  N = n;
}

void en::max()
{
  int kane = 1;
  int j = 2;
  int i = 0;

  for(i = 0; ;i++){
    if(N < mine[i-1])
    {
      MAX = mine[i-2];
      p = i - 2;
      break;
    }

    mine[i] = kane;
    kane = kane + j;
    j++;
  }
}

void en::cal()
{
  int saihu;
  int P = p-1;
  saihu = N;
  saihu = saihu - MAX;
  int tmp;
  ans = 1;

  if(saihu == 0);

  else{
    while(1){
      tmp = saihu - mine[P];
      if(tmp < 0){
        P = P-1;
      }
      else if(tmp > 0){
        ans++;
        saihu = saihu - mine[P];
      }
      else{
        ans++;
        break;
      }
    }
  }
}


void en::show()
{
  cout << ans << "\n";
}


int main(){

  en kane;
  kane.max();
  kane.cal();
  kane.show();

  return 0;
}
0