Submission #520538


Source Code Expand

#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <vector>

#define REP(i,s,n) for(int i=(int)(s);i<(int)(n);i++)

using namespace std;
typedef long long int ll;
const double EPS=1e-9;
const int N = 3010;
const int H = 6100;

const int DEBUG = 0;

int n;
int h[N];
int m[N],s[N], e[N];

set<int> tm;
map<int,int> tmu;
int uniq = 0;

int dp[H][N];
int dpa[H];
int dpb[H];
int dpacc[H];


vector<int> pred[N];

void reg(int v) {
	if(tm.count(v)) {
		return;
	}
	tm.insert(v);
}


void rec(int x) {
	if(dpacc[x] >= 0) return;
		int mm = 0;
		REP(c,1,n+1) {
			int mmc = c == 1 ? h[0] : -1;
			REP(q,0,pred[x].size()) {
				int pr = pred[x][q];
				rec(pr);
				if(m[x] == m[pr] && c >= 2 && dp[pr][c-1] >= 0)
					mmc = max(mmc, dp[pr][c - 1] + h[c-1]);
				if( c == 1)
					mmc = max(mmc, dpacc[pr] + h[0]);
			}
			mm = max(mm,mmc);
			dp[x][c] = mmc;
			if(DEBUG) cout << "dp[" << x << "][" << c << "]=" << mmc << endl;
		}
		dpacc[x] = mm;
		if(DEBUG) cout << "dpacc[" << x << "]=" << mm << endl;

}

int main(void){
	cin >> n;
	REP(i,0,n) cin>>h[i];
	REP(i,0,n) {
		cin >> m[i] >> s[i] >> e[i];
	}
	REP(i,0,n) {
		REP(j,0,n) {
			if(e[j] <= s[i])
				pred[i].push_back(j);
		}
	}
	if(DEBUG) {
		REP(i,0,n) {
			cout << "pred[" << i << "]=";
			REP(j,0,pred[i].size()) {
				cout << pred[i][j] << " ";
			}
			cout << endl;
		}
	}
	REP(x,0,n) dpacc[x] = -1;
	REP(x,0,n) {
		rec(x);
	}
	int mm = 0;
	REP(i,0,n) {
		mm = max(mm, dpacc[i]);
	}
	cout << mm << endl;
}

Submission Info

Submission Time
Task D - 映画の連続視聴
User kobae964
Language C++ (G++ 4.6.4)
Score 0
Code Size 1684 Byte
Status TLE
Exec Time 2069 ms
Memory 32528 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 6
TLE × 55
Set Name Test Cases
All 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, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt, subtask1_43.txt, subtask1_44.txt, subtask1_45.txt, subtask1_46.txt, subtask1_47.txt, subtask1_48.txt, subtask1_49.txt, subtask1_50.txt, subtask1_51.txt, subtask1_52.txt, subtask1_53.txt, subtask1_54.txt, subtask1_55.txt, subtask1_56.txt, subtask1_57.txt, subtask1_58.txt, subtask1_59.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
sample_01.txt AC 34 ms 1316 KB
sample_02.txt AC 34 ms 1320 KB
subtask1_01.txt TLE 2040 ms 15904 KB
subtask1_02.txt AC 42 ms 1940 KB
subtask1_03.txt TLE 2041 ms 13728 KB
subtask1_04.txt TLE 2043 ms 23316 KB
subtask1_05.txt TLE 2041 ms 9880 KB
subtask1_06.txt TLE 2041 ms 19996 KB
subtask1_07.txt AC 215 ms 3612 KB
subtask1_08.txt TLE 2041 ms 12556 KB
subtask1_09.txt AC 365 ms 4372 KB
subtask1_10.txt TLE 2041 ms 18588 KB
subtask1_11.txt AC 393 ms 4372 KB
subtask1_12.txt TLE 2040 ms 13088 KB
subtask1_13.txt TLE 2041 ms 16292 KB
subtask1_14.txt TLE 2044 ms 22888 KB
subtask1_15.txt TLE 2043 ms 32272 KB
subtask1_16.txt TLE 2069 ms 32160 KB
subtask1_17.txt TLE 2044 ms 32284 KB
subtask1_18.txt TLE 2044 ms 32152 KB
subtask1_19.txt TLE 2045 ms 32276 KB
subtask1_20.txt TLE 2044 ms 32280 KB
subtask1_21.txt TLE 2044 ms 32156 KB
subtask1_22.txt TLE 2045 ms 32140 KB
subtask1_23.txt TLE 2044 ms 32144 KB
subtask1_24.txt TLE 2045 ms 32276 KB
subtask1_25.txt TLE 2044 ms 32144 KB
subtask1_26.txt TLE 2046 ms 32152 KB
subtask1_27.txt TLE 2045 ms 32012 KB
subtask1_28.txt TLE 2045 ms 32092 KB
subtask1_29.txt TLE 2043 ms 32156 KB
subtask1_30.txt TLE 2046 ms 32148 KB
subtask1_31.txt TLE 2045 ms 32156 KB
subtask1_32.txt TLE 2050 ms 31920 KB
subtask1_33.txt TLE 2045 ms 32148 KB
subtask1_34.txt TLE 2045 ms 32408 KB
subtask1_35.txt TLE 2045 ms 32276 KB
subtask1_36.txt TLE 2045 ms 32284 KB
subtask1_37.txt TLE 2045 ms 32272 KB
subtask1_38.txt TLE 2043 ms 32276 KB
subtask1_39.txt TLE 2045 ms 32140 KB
subtask1_40.txt TLE 2042 ms 32276 KB
subtask1_41.txt TLE 2043 ms 32288 KB
subtask1_42.txt TLE 2045 ms 32144 KB
subtask1_43.txt TLE 2044 ms 32400 KB
subtask1_44.txt TLE 2045 ms 32404 KB
subtask1_45.txt TLE 2043 ms 32024 KB
subtask1_46.txt TLE 2046 ms 32140 KB
subtask1_47.txt TLE 2043 ms 32280 KB
subtask1_48.txt TLE 2045 ms 32148 KB
subtask1_49.txt TLE 2045 ms 32024 KB
subtask1_50.txt TLE 2044 ms 32152 KB
subtask1_51.txt TLE 2044 ms 32276 KB
subtask1_52.txt TLE 2044 ms 32292 KB
subtask1_53.txt TLE 2044 ms 32280 KB
subtask1_54.txt TLE 2045 ms 32528 KB
subtask1_55.txt TLE 2044 ms 32276 KB
subtask1_56.txt TLE 2045 ms 32260 KB
subtask1_57.txt TLE 2043 ms 32152 KB
subtask1_58.txt TLE 2045 ms 32156 KB
subtask1_59.txt TLE 2043 ms 32284 KB