結果

問題 No.634 硬貨の枚数1
ユーザー bennkei0327
提出日時 2018-01-24 22:51:33
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,128 bytes
コンパイル時間 623 ms
コンパイル使用メモリ 66,072 KB
最終ジャッジ日時 2025-01-05 07:52:42
ジャッジサーバーID
(参考情報)
judge1 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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;
  saihu = N;
  int tmp, pre = 0;

  ans = 0;

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

  }
/*    P = P - 1;

    if(ans <= pre){
      ans = pre;
    }
    pre = 0;
    saihu = 0;
    if(P == 1){
      break;
    }
  }*/
}

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


int main(){

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

  return 0;
}
0