結果

問題 No.54 Happy Hallowe'en
ユーザー ss_koishi
提出日時 2014-11-06 16:52:35
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
TLE  
実行時間 -
コード長 737 bytes
コンパイル時間 986 ms
コンパイル使用メモリ 71,504 KB
実行使用メモリ 13,640 KB
最終ジャッジ日時 2024-12-31 06:16:56
合計ジャッジ時間 10,037 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 9 RE * 9 TLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <cstring>
#include <vector>
#include <map>
#include <algorithm>
#define INF (2 << 24)
using namespace std;

int n;
int dp[10001];
bool chk[10001];
vector <pair<int, int> > vt;

int rec(int sum){

  if(dp[sum]) return dp[sum];
  int ret = 0;
  for(int i = 0; i < n; i++){
    if(sum < vt[i].second && chk[i]){
      chk[i] = false;
      ret = max(ret, rec(sum + vt[i].first) + vt[i].first);
      chk[i] = true;
    }
  }
  return dp[sum] = ret;
}
    
int main(){
  
  cin >> n;
  for(int i = 0; i < n; i++){
    int v, t; cin >> v >> t;
    vt.push_back(make_pair(v, t));
  }
  sort(vt.begin(), vt.end());
  memset(chk, true, sizeof(chk));
  cout << rec(0) << endl;
}
0