Submission #305538

#TimeUsernameProblemLanguageResultExecution timeMemory
305538theshadow_04Watching (JOI13_watching)C++14
0 / 100
1 ms384 KiB
// W i B #include <bits/stdc++.h> #define F first #define S second #define MOD 998244353 #define pb push_back #define bit(x,p) ((x>>p) & 1) #define ll long long #define Task "Ojuz" using namespace std; const int base = 100003; const int maxn = 1000005; int n,p,q; int a[maxn]; bool Check(int x){ int s = p,l = q,i = 1; for(;i <= n;){ int pos1 = upper_bound(a + 1,a + n + 1,a[i] + x - 1) - a - 1; int pos2 = upper_bound(a + 1,a + n + 1,a[i] + 2 * x - 1) - a - 1; if(pos2 > pos1 && l) i = pos2 + 1,l --; else if(s) i = pos1 + 1,s--; else break; } return (i >= n); } void Solve(){ cin >> n >> p >> q; a[n + 1] = 2e9; for(int i = 1;i <= n;++i) cin >> a[i]; sort(a + 1,a + n + 1); int l = 0,r = 2e9; while(r - l > 1){ int mid = l + r >> 1; if(Check(mid)) r = mid; else l = mid; } cout << r; } void NumTime(){ cerr << "Toi" << "\n";cerr << "Di" << "\n";cerr << "Chep" << "\n";cerr << "Code" << "\n"; } int main(){ ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); if(fopen(Task".inp","r")){ freopen(Task".inp","r",stdin); freopen(Task".out","w",stdout); } int test = 1; // cin >> test; while(test --){ NumTime(); Solve(); } } // V T An

Compilation message (stderr)

watching.cpp: In function 'void Solve()':
watching.cpp:37:21: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   37 |         int mid = l + r >> 1;
      |                   ~~^~~
watching.cpp: In function 'int main()':
watching.cpp:52:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   52 |   freopen(Task".inp","r",stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
watching.cpp:53:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
   53 |   freopen(Task".out","w",stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...