結果
問題 | No.90 品物の並び替え |
ユーザー |
|
提出日時 | 2015-02-05 20:28:58 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 464 ms / 5,000 ms |
コード長 | 1,011 bytes |
コンパイル時間 | 742 ms |
コンパイル使用メモリ | 84,452 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 08:34:01 |
合計ジャッジ時間 | 1,842 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#include <iostream>#include <string>#include <vector>#include <queue>#include <stack>#include <map>#include <algorithm>#include <numeric>#include <functional>#include <set>#include <sstream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <cctype>#include <climits>#define FOR(i,a,b) for(int i=(a);i<(b);++i)#define REP(i,n) FOR(i,0,n)#define FOE(i,a) for(auto i : a)#define ALL(c) (c).begin(), (c).end()#define EXIST(v, n) (std::find(v.begin(), v.end(), 1) != v.end())using namespace std;int main(int argc, char *argv[]) {int N, M, a, b, c;vector<int> v, i1, i2, s;cin >> N >> M;REP(i, M) {cin >> a >> b >> c;i1.push_back(a);i2.push_back(b);s.push_back(c);}int ans = 0;REP(i, N) { v.push_back(i); }do{int score = 0;REP(i, i1.size()) {if (find(ALL(v), i1[i]) < find(ALL(v), i2[i])) { score += s[i]; }}ans = max(ans, score);} while (next_permutation(ALL(v)));cout << ans << endl;}