Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int INF = 2e9;
- int ar[30010];
- int n;
- int BS(int ab, int l){
- int r = n, idx = -INF;
- while(l <= r){
- int mid = (l + r) / 2;
- if(ar[mid]< ab){
- idx = max(idx, mid);
- l = mid + 1;
- }
- else r = mid - 1;
- }
- return idx;
- }
- int main(){
- scanf("%d",&n);
- int prev = 0;
- for(int i = 1; i <= n; i++){
- scanf("%d", &ar[i]);
- }
- sort(ar + 1, ar + n + 1);
- int mx = 0;
- for(int i = 1; i <= n-2; i++){
- mx = max(mx, BS(ar[i] + ar[i+1], i+2) - i + 1);
- }
- if(mx == 0) printf("%d", n);
- else printf("%d", mx);
- return 0;
- }
Add Comment
Please, Sign In to add comment