提出 #241940


ソースコード 拡げる

Copy
#include <vector>
#include <list>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <deque>
#include <algorithm>
#include <utility>
#include <functional>
#include <sstream>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <ctime>
#include <climits>
#include <cassert>
#include <memory>
#include <time.h>
using namespace std;
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;
typedef pair<int, int> pii;
typedef long long ll;
#define ALL(a) (a).begin(),(a).end()
#define RALL(a) (a).rbegin(),(a).rend()
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define EXIST2(s,e) (find(ALL(s),(e))!=(s).end())
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n) FOR(i,0,n)
const double EPS = 1e-9;
const double PI  = acos(-1.0);

typedef vector<ll> vl;
typedef vector<vl> vvl;
const int MAX_V=13;
const ll INF=1LL<<40;

ll cost[MAX_V][MAX_V];
ll mincost[MAX_V];
bool used[MAX_V];
int V;

ll prim(){
	for(int i=0;i<V;i++){
		mincost[i]=INF;
		used[i]=false;
	}

	mincost[0]=0;
	ll res=0;

	while(true){
		int v=-1;
		for(int u=0;u<V;u++){
			if(!used[u]&&(v==-1||mincost[u]<mincost[v])) v=u;
		}

		if(v==-1)break;
		used[v]=true;
		res+=mincost[v];
		for(int u=0;u<V;u++){
			mincost[u]=min(mincost[u],cost[v][u]);
		}
	}
	return res;
}

int main(){
	int n,m;
	cin>>n>>m;
	if(n>12||m>66){
		return 1;
	}
	vi c(n);
	REP(i,n){
		cin>>c[i];
	}
	vvl road_costs(n,vl(n,INF));
	REP(i,m){
		int a,b,r;
		cin>>a>>b>>r,a--,b--;
		road_costs[a][b]=r;
		road_costs[b][a]=r;
	}
	ll ans=LLONG_MAX;
	V=n;
	FOR(mask,1,1<<n){
		ll tmp=0;
		REP(i,n){
			if((mask>>i)&1){
				tmp+=c[i];
			}
		}
		REP(i,V){
			REP(j,V){
				if(((mask>>i)&1)&&((mask>>j)&1)){
					cost[i][j]=0;
				}else{
					cost[i][j]=road_costs[i][j];
				}
			}
		}
		tmp+=prim();
		ans=min(ans,tmp);
	}
	cout<<ans<<endl;
}

提出情報

提出日時
問題 C - 高橋君と国家
ユーザ SSJJ
言語 C++ (G++ 4.6.4)
得点 30
コード長 2191 Byte
結果
実行時間 448 ms
メモリ 928 KB

テストケース

セット名 得点 / 配点 テストケース
Sample 0 / 0 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt
Subtask1 10 / 10 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask1-27.txt, subtask1-28.txt, subtask1-29.txt, subtask1-30.txt
Subtask2 20 / 20 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask1-27.txt, subtask1-28.txt, subtask1-29.txt, subtask1-30.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt, subtask2-21.txt, subtask2-22.txt, subtask2-23.txt, subtask2-24.txt, subtask2-25.txt, subtask2-26.txt, subtask2-27.txt, subtask2-28.txt, subtask2-29.txt, subtask2-30.txt
Subtask3 0 / 30 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask1-27.txt, subtask1-28.txt, subtask1-29.txt, subtask1-30.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt, subtask2-21.txt, subtask2-22.txt, subtask2-23.txt, subtask2-24.txt, subtask2-25.txt, subtask2-26.txt, subtask2-27.txt, subtask2-28.txt, subtask2-29.txt, subtask2-30.txt, subtask3-01.txt, subtask3-02.txt, subtask3-03.txt, subtask3-04.txt, subtask3-05.txt, subtask3-06.txt, subtask3-07.txt, subtask3-08.txt, subtask3-09.txt, subtask3-10.txt, subtask3-11.txt, subtask3-12.txt, subtask3-13.txt, subtask3-14.txt, subtask3-15.txt, subtask3-16.txt, subtask3-17.txt, subtask3-18.txt, subtask3-19.txt, subtask3-20.txt, subtask3-21.txt, subtask3-22.txt, subtask3-23.txt, subtask3-24.txt, subtask3-25.txt, subtask3-26.txt, subtask3-27.txt, subtask3-28.txt, subtask3-29.txt, subtask3-30.txt
Subtask4 0 / 40 subtask0-sample-01.txt, subtask0-sample-02.txt, subtask0-sample-03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask1-27.txt, subtask1-28.txt, subtask1-29.txt, subtask1-30.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt, subtask2-21.txt, subtask2-22.txt, subtask2-23.txt, subtask2-24.txt, subtask2-25.txt, subtask2-26.txt, subtask2-27.txt, subtask2-28.txt, subtask2-29.txt, subtask2-30.txt, subtask3-01.txt, subtask3-02.txt, subtask3-03.txt, subtask3-04.txt, subtask3-05.txt, subtask3-06.txt, subtask3-07.txt, subtask3-08.txt, subtask3-09.txt, subtask3-10.txt, subtask3-11.txt, subtask3-12.txt, subtask3-13.txt, subtask3-14.txt, subtask3-15.txt, subtask3-16.txt, subtask3-17.txt, subtask3-18.txt, subtask3-19.txt, subtask3-20.txt, subtask3-21.txt, subtask3-22.txt, subtask3-23.txt, subtask3-24.txt, subtask3-25.txt, subtask3-26.txt, subtask3-27.txt, subtask3-28.txt, subtask3-29.txt, subtask3-30.txt, subtask4-01.txt, subtask4-02.txt, subtask4-03.txt, subtask4-04.txt, subtask4-05.txt, subtask4-06.txt, subtask4-07.txt, subtask4-08.txt, subtask4-09.txt, subtask4-10.txt, subtask4-11.txt, subtask4-12.txt, subtask4-13.txt, subtask4-14.txt, subtask4-15.txt, subtask4-16.txt, subtask4-17.txt, subtask4-18.txt, subtask4-19.txt, subtask4-20.txt, subtask4-21.txt, subtask4-22.txt, subtask4-23.txt, subtask4-24.txt, subtask4-25.txt, subtask4-26.txt, subtask4-27.txt, subtask4-28.txt, subtask4-29.txt, subtask4-30.txt
ケース名 結果 実行時間 メモリ
subtask0-sample-01.txt 25 ms 800 KB
subtask0-sample-02.txt 22 ms 804 KB
subtask0-sample-03.txt 22 ms 800 KB
subtask1-01.txt 22 ms 796 KB
subtask1-02.txt 22 ms 804 KB
subtask1-03.txt 23 ms 800 KB
subtask1-04.txt 23 ms 800 KB
subtask1-05.txt 23 ms 796 KB
subtask1-06.txt 26 ms 796 KB
subtask1-07.txt 25 ms 924 KB
subtask1-08.txt 24 ms 792 KB
subtask1-09.txt 23 ms 796 KB
subtask1-10.txt 23 ms 788 KB
subtask1-11.txt 25 ms 804 KB
subtask1-12.txt 25 ms 796 KB
subtask1-13.txt 24 ms 804 KB
subtask1-14.txt 25 ms 800 KB
subtask1-15.txt 22 ms 916 KB
subtask1-16.txt 23 ms 676 KB
subtask1-17.txt 24 ms 792 KB
subtask1-18.txt 24 ms 800 KB
subtask1-19.txt 24 ms 792 KB
subtask1-20.txt 26 ms 728 KB
subtask1-21.txt 24 ms 756 KB
subtask1-22.txt 27 ms 804 KB
subtask1-23.txt 26 ms 796 KB
subtask1-24.txt 25 ms 920 KB
subtask1-25.txt 23 ms 800 KB
subtask1-26.txt 22 ms 800 KB
subtask1-27.txt 22 ms 792 KB
subtask1-28.txt 25 ms 800 KB
subtask1-29.txt 24 ms 676 KB
subtask1-30.txt 23 ms 800 KB
subtask2-01.txt 23 ms 784 KB
subtask2-02.txt 23 ms 800 KB
subtask2-03.txt 24 ms 920 KB
subtask2-04.txt 23 ms 912 KB
subtask2-05.txt 25 ms 800 KB
subtask2-06.txt 26 ms 804 KB
subtask2-07.txt 25 ms 804 KB
subtask2-08.txt 27 ms 800 KB
subtask2-09.txt 28 ms 808 KB
subtask2-10.txt 26 ms 800 KB
subtask2-11.txt 32 ms 804 KB
subtask2-12.txt 25 ms 672 KB
subtask2-13.txt 29 ms 800 KB
subtask2-14.txt 27 ms 804 KB
subtask2-15.txt 31 ms 796 KB
subtask2-16.txt 29 ms 804 KB
subtask2-17.txt 31 ms 800 KB
subtask2-18.txt 28 ms 796 KB
subtask2-19.txt 33 ms 804 KB
subtask2-20.txt 30 ms 792 KB
subtask2-21.txt 30 ms 800 KB
subtask2-22.txt 29 ms 804 KB
subtask2-23.txt 31 ms 800 KB
subtask2-24.txt 31 ms 800 KB
subtask2-25.txt 31 ms 800 KB
subtask2-26.txt 31 ms 800 KB
subtask2-27.txt 32 ms 808 KB
subtask2-28.txt 29 ms 796 KB
subtask2-29.txt 31 ms 676 KB
subtask2-30.txt 30 ms 928 KB
subtask3-01.txt 23 ms 800 KB
subtask3-02.txt 25 ms 804 KB
subtask3-03.txt 25 ms 784 KB
subtask3-04.txt 24 ms 796 KB
subtask3-05.txt 23 ms 796 KB
subtask3-06.txt 24 ms 672 KB
subtask3-07.txt 23 ms 800 KB
subtask3-08.txt 23 ms 796 KB
subtask3-09.txt 24 ms 804 KB
subtask3-10.txt 23 ms 804 KB
subtask3-11.txt 23 ms 796 KB
subtask3-12.txt 22 ms 796 KB
subtask3-13.txt 24 ms 796 KB
subtask3-14.txt 23 ms 920 KB
subtask3-15.txt 22 ms 800 KB
subtask3-16.txt 22 ms 744 KB
subtask3-17.txt 22 ms 792 KB
subtask3-18.txt 24 ms 796 KB
subtask3-19.txt 25 ms 792 KB
subtask3-20.txt 22 ms 796 KB
subtask3-21.txt 23 ms 668 KB
subtask3-22.txt 24 ms 796 KB
subtask3-23.txt 23 ms 796 KB
subtask3-24.txt 23 ms 796 KB
subtask3-25.txt 23 ms 796 KB
subtask3-26.txt 24 ms 804 KB
subtask3-27.txt 22 ms 672 KB
subtask3-28.txt 22 ms 796 KB
subtask3-29.txt 22 ms 920 KB
subtask3-30.txt 24 ms 672 KB
subtask4-01.txt 26 ms 752 KB
subtask4-02.txt 22 ms 796 KB
subtask4-03.txt 22 ms 800 KB
subtask4-04.txt 23 ms 792 KB
subtask4-05.txt 23 ms 792 KB
subtask4-06.txt 22 ms 800 KB
subtask4-07.txt 24 ms 804 KB
subtask4-08.txt 22 ms 800 KB
subtask4-09.txt 24 ms 788 KB
subtask4-10.txt 22 ms 700 KB
subtask4-11.txt 25 ms 744 KB
subtask4-12.txt 26 ms 792 KB
subtask4-13.txt 23 ms 916 KB
subtask4-14.txt 24 ms 800 KB
subtask4-15.txt 23 ms 676 KB
subtask4-16.txt 24 ms 796 KB
subtask4-17.txt 25 ms 732 KB
subtask4-18.txt 23 ms 804 KB
subtask4-19.txt 24 ms 700 KB
subtask4-20.txt 448 ms 876 KB
subtask4-21.txt 26 ms 796 KB
subtask4-22.txt 24 ms 692 KB
subtask4-23.txt 24 ms 796 KB
subtask4-24.txt 25 ms 804 KB
subtask4-25.txt 25 ms 792 KB
subtask4-26.txt 23 ms 800 KB
subtask4-27.txt 24 ms 792 KB
subtask4-28.txt 24 ms 792 KB
subtask4-29.txt 25 ms 804 KB
subtask4-30.txt 23 ms 804 KB