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
#include
#include
using namespace std; int main() { int n, l; cin >> n >> l; pair
p[n]; for(int i = 0; i < n; i++) { cin >> p[i].second >> p[i].first; } int L = 0; int R = l; int zalepeni = 0; for(int i = 0; i < n; i++) { int a = p[i].second; int b = p[i].first; if(R < a) { continue; } if(b < L) { continue; } if(a < L and R < b) { continue; } if(L <= a and b <= R) { zalepeni += 1; continue; } if(a < L) { int strci = L - a; if(strci < 0) { strci *= -1; // dolzinata mora da e pozitiven broj } int dolzina = b - a; if(dolzina < 0) { dolzina *= -1; } if(strci <= dolzina / 2) { L = a; zalepeni += 1; } } else if(R < b) { int strci = b - R; if(strci < 0) { strci *= -1; } int dolzina = b - a; if(dolzina < 0) { dolzina *= -1; } if(strci <= dolzina / 2) { R = b; zalepeni += 1; } } } int zalepeni2 = 0; sort(p, p + n); for(int i = n - 1; i >= 0; i--) { int a = p[i].second; int b = p[i].first; if(R < a) { continue; } if(b < L) { continue; } if(a < L and R < b) { continue; } if(L <= a and b <= R) { zalepeni2 += 1; continue; } if(a < L) { int strci = L - a; if(strci < 0) { strci *= -1; // dolzinata mora da e pozitiven broj } int dolzina = b - a; if(dolzina < 0) { dolzina *= -1; } if(strci <= dolzina / 2) { L = a; zalepeni2 += 1; } } else if(R < b) { int strci = b - R; if(strci < 0) { strci *= -1; } int dolzina = b - a; if(dolzina < 0) { dolzina *= -1; } if(strci <= dolzina / 2) { R = b; zalepeni2 += 1; } } } int zalepeni3 = 0; for(int i = 0; i < n; i++) { int a = p[i].second; int b = p[i].first; if(R < a) { continue; } if(b < L) { continue; } if(a < L and R < b) { continue; } if(L <= a and b <= R) { zalepeni3 += 1; continue; } if(a < L) { int strci = L - a; if(strci < 0) { strci *= -1; // dolzinata mora da e pozitiven broj } int dolzina = b - a; if(dolzina < 0) { dolzina *= -1; } if(strci <= dolzina / 2) { L = a; zalepeni3 += 1; } } else if(R < b) { int strci = b - R; if(strci < 0) { strci *= -1; } int dolzina = b - a; if(dolzina < 0) { dolzina *= -1; } if(strci <= dolzina / 2) { R = b; zalepeni3 += 1; } } } cout << max(max(zalepeni, zalepeni2), zalepeni3) << endl; return 0; } /* 7 5 2 4 -3 3 7 10 1 8 6 7 6 7 -1 6 2 4 -3 3 **/
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)