Submission #9261403


Source Code Expand

Copy
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
#define rrep(i,a,b) for(int i=a;i>=b;i--)
#define fore(i,a) for(auto &i:a)
#define all(x) (x).begin(),(x).end()
//#pragma GCC optimize ("-O3")
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
typedef long long ll; const int inf = INT_MAX / 2; const ll infl = 1LL << 60;
template<class T>bool chmax(T& a, const T& b) { if (a < b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T& a, const T& b) { if (b < a) { a = b; return 1; } return 0; }
//---------------------------------------------------------------------------------------------------
/*---------------------------------------------------------------------------------------------------
            ∧_∧
      ∧_∧  (´<_` )  Welcome to My Coding Space!
     ( ´_ゝ`) /  ⌒i     @hamayanhamayan0
    /   \     | |
    /   / ̄ ̄ ̄ ̄/  |
  __(__ニつ/     _/ .| .|____
     \/____/ (u ⊃
---------------------------------------------------------------------------------------------------*/














int N, W, C, L[101010], R[101010], P[101010];
//---------------------------------------------------------------------------------------------------
vector<int> dic;
ll lft[201010], rht[201010], tot;
ll solve(int l, int r) {
	if (l < 0) return infl;
	if (W < r) return infl;

	ll res = tot;

	int lid = upper_bound(all(dic), l) - dic.begin() - 1;
	if (0 <= lid) res -= lft[lid];

	int rid = lower_bound(all(dic), r) - dic.begin();
	res -= rht[rid];

	return res;
}
//---------------------------------------------------------------------------------------------------
void _main() {
	cin >> N >> W >> C;
	rep(i, 0, N) cin >> L[i] >> R[i] >> P[i];

	rep(i, 0, N) {
		dic.push_back(L[i]);
		dic.push_back(R[i]);
	}
	sort(all(dic));
	dic.erase(unique(all(dic)), dic.end());
	int n = dic.size();

	rep(i, 0, N) {
		int l = lower_bound(all(dic), L[i]) - dic.begin();
		int r = lower_bound(all(dic), R[i]) - dic.begin();
		rht[l] += P[i];
		lft[r] += P[i];
		tot += P[i];
	}

	rep(i, 1, n + 1) lft[i] += lft[i - 1];
	rrep(i, n - 1, 0) rht[i] += rht[i + 1];
	
	ll ans = infl;
	rep(i, 0, n) chmin(ans, solve(dic[i], dic[i] + C));
	rep(i, 0, n) chmin(ans, solve(dic[i] - C, dic[i]));
	cout << ans << endl;
}





Submission Info

Submission Time
Task N - Land Clearing
User hamayanhamayan
Language C++14 (GCC 5.4.1)
Score 6
Code Size 2531 Byte
Status AC
Exec Time 109 ms
Memory 5492 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 6 / 6
Status
AC × 2
AC × 61
Set Name Test Cases
Sample example_01.txt, example_02.txt
All example_01.txt, example_02.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt, subtask_01_19.txt, subtask_01_20.txt, subtask_01_21.txt, subtask_01_22.txt, subtask_01_23.txt, subtask_01_24.txt, subtask_01_25.txt, subtask_01_26.txt, subtask_01_27.txt, subtask_01_28.txt, subtask_01_29.txt, subtask_01_30.txt, subtask_01_31.txt, subtask_01_32.txt, subtask_01_33.txt, subtask_01_34.txt, subtask_01_35.txt, subtask_01_36.txt, subtask_01_37.txt, subtask_01_38.txt, subtask_01_39.txt, subtask_01_40.txt, subtask_01_41.txt, subtask_01_42.txt, subtask_01_43.txt, subtask_01_44.txt, subtask_01_45.txt, subtask_01_46.txt, subtask_01_47.txt, subtask_01_48.txt, subtask_01_49.txt, subtask_01_50.txt, subtask_01_51.txt, subtask_01_52.txt, subtask_01_53.txt, subtask_01_54.txt, subtask_01_55.txt, subtask_01_56.txt, subtask_01_57.txt, subtask_01_58.txt, subtask_01_59.txt
Case Name Status Exec Time Memory
example_01.txt AC 2 ms 2304 KB
example_02.txt AC 2 ms 2304 KB
subtask_01_01.txt AC 2 ms 2304 KB
subtask_01_02.txt AC 31 ms 3704 KB
subtask_01_03.txt AC 31 ms 3704 KB
subtask_01_04.txt AC 31 ms 3704 KB
subtask_01_05.txt AC 31 ms 3704 KB
subtask_01_06.txt AC 31 ms 3704 KB
subtask_01_07.txt AC 31 ms 3704 KB
subtask_01_08.txt AC 31 ms 3704 KB
subtask_01_09.txt AC 31 ms 3704 KB
subtask_01_10.txt AC 109 ms 5492 KB
subtask_01_11.txt AC 109 ms 5492 KB
subtask_01_12.txt AC 109 ms 5492 KB
subtask_01_13.txt AC 109 ms 5492 KB
subtask_01_14.txt AC 109 ms 5492 KB
subtask_01_15.txt AC 108 ms 5492 KB
subtask_01_16.txt AC 109 ms 5492 KB
subtask_01_17.txt AC 108 ms 5492 KB
subtask_01_18.txt AC 109 ms 5492 KB
subtask_01_19.txt AC 109 ms 5492 KB
subtask_01_20.txt AC 103 ms 5492 KB
subtask_01_21.txt AC 85 ms 5492 KB
subtask_01_22.txt AC 90 ms 5492 KB
subtask_01_23.txt AC 74 ms 5492 KB
subtask_01_24.txt AC 84 ms 5492 KB
subtask_01_25.txt AC 56 ms 3828 KB
subtask_01_26.txt AC 54 ms 3704 KB
subtask_01_27.txt AC 55 ms 3704 KB
subtask_01_28.txt AC 88 ms 5492 KB
subtask_01_29.txt AC 41 ms 3704 KB
subtask_01_30.txt AC 50 ms 3704 KB
subtask_01_31.txt AC 42 ms 3704 KB
subtask_01_32.txt AC 50 ms 3704 KB
subtask_01_33.txt AC 50 ms 3704 KB
subtask_01_34.txt AC 43 ms 3704 KB
subtask_01_35.txt AC 72 ms 4852 KB
subtask_01_36.txt AC 56 ms 4468 KB
subtask_01_37.txt AC 69 ms 4724 KB
subtask_01_38.txt AC 82 ms 4852 KB
subtask_01_39.txt AC 62 ms 4468 KB
subtask_01_40.txt AC 49 ms 3704 KB
subtask_01_41.txt AC 42 ms 3704 KB
subtask_01_42.txt AC 49 ms 3704 KB
subtask_01_43.txt AC 49 ms 3704 KB
subtask_01_44.txt AC 42 ms 3704 KB
subtask_01_45.txt AC 66 ms 4596 KB
subtask_01_46.txt AC 54 ms 4468 KB
subtask_01_47.txt AC 65 ms 4596 KB
subtask_01_48.txt AC 71 ms 4596 KB
subtask_01_49.txt AC 60 ms 4468 KB
subtask_01_50.txt AC 31 ms 3704 KB
subtask_01_51.txt AC 31 ms 3704 KB
subtask_01_52.txt AC 32 ms 3704 KB
subtask_01_53.txt AC 32 ms 3704 KB
subtask_01_54.txt AC 31 ms 3704 KB
subtask_01_55.txt AC 32 ms 3708 KB
subtask_01_56.txt AC 10 ms 2816 KB
subtask_01_57.txt AC 51 ms 4468 KB
subtask_01_58.txt AC 23 ms 3576 KB
subtask_01_59.txt AC 34 ms 3576 KB