Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
#include
using namespace std; typedef long long ll; ll overlap(ll L1, ll R1, ll L2, ll R2) { return max(0LL, min(R1, R2) - max(L1, L2)); } ll red_line(vector
> v) { sort(v.begin(), v.end()); ll result = 0; ll L = v[0].first, R = v[0].second; for(int i = 1; i < 3; i++) { if(v[i].first <= R) { R = max(R, v[i].second); } else { result += R - L; L = v[i].first; R = v[i].second; } } result += R - L; return result; } int main() { vector
> v(3); for(int i = 0; i < 3; i++) { cin >> v[i].first >> v[i].second; } ll K; cin >> K; ll len = 0; vector
idx = {0, 1, 2}; do { vector
> tmp = {v[idx[0]], v[idx[1]], v[idx[2]]}; ll full_len = (tmp[0].second - tmp[0].first) + (tmp[1].second - tmp[1].first) + (tmp[2].second- tmp[2].first); ll res2 = red_line(tmp); ll res = min(full_len, res2 + K); len = max(len, res); } while(next_permutation(idx.begin(), idx.end())); cout << len << endl; return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)