답안 #1023046

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1023046 2024-07-14T08:57:12 Z hasan2006 Bigger segments (IZhO19_segments) C++17
0 / 100
14 ms 23984 KB
#include <bits/stdc++.h>

using namespace std;

#define TL ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define rall(s) s.rbegin(),s.rend()
#define all(s) s.begin(),s.end()
#define pb push_back
#define se second
#define fi first
#define ll long long
#define ld long double
#define YES cout<<"YES\n"
#define Yes cout<<"Yes\n"
#define yes cout<<"yes\n"
#define NO cout<<"NO\n"
#define No cout<<"No\n"
#define no cout<<"no\n"


const int N = 1e6 + 9 , mod = 1e9 + 7;
ll a[N] , b[N] , dp[N] , c[N] , d[N] , ans[N] ;
vector<int>vc[N];


void solve()
{
    ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
    cin>>n;
    for(i  = 1; i <= n; i++){
        cin>>a[i];
        b[i] = b[i - 1] + a[i];
    }
    set<int>st;
    for(i = 1; i <= n; i++){
        l = c[s];
        r = i - 1;
        if(b[i] - b[l] >= dp[l]){
            while(l != r){
            m = (l + r + 1) / 2;
            if(b[i] - b[m] >= dp[m])
                l = m;
            else
                r = m - 1;
            }
            c[++s] = i;
            dp[i] = b[i] - b[l];
        }else{
            dp[i] = dp[i - 1] + a[i];
        }
    }
    cout<<s<<"\n";
}

int main(){
    TL;

   /* #ifndef ONLINE_JUDGE
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    #endif*/
    int t = 1;
//    cin>>t;
    while(t--)
     {
        solve();
     }
}
// Author : حسن

Compilation message

segments.cpp: In function 'void solve()':
segments.cpp:28:12: warning: unused variable 'q' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |            ^
segments.cpp:28:20: warning: unused variable 'j' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |                    ^
segments.cpp:28:30: warning: unused variable 'x' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |                              ^
segments.cpp:28:34: warning: unused variable 'y' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |                                  ^
segments.cpp:28:46: warning: unused variable 'f' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |                                              ^
segments.cpp:28:50: warning: unused variable 'k' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |                                                  ^
segments.cpp:28:58: warning: unused variable 'mn' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |                                                          ^~
segments.cpp:28:69: warning: unused variable 'mx' [-Wunused-variable]
   28 |     ll n , q , i , j ,l ,r , x , y , s = 0 , f , k , m , mn = 1e18, mx = 0 ;
      |                                                                     ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23984 KB Output is correct
2 Correct 10 ms 23900 KB Output is correct
3 Correct 11 ms 23984 KB Output is correct
4 Correct 11 ms 23900 KB Output is correct
5 Correct 11 ms 23952 KB Output is correct
6 Correct 12 ms 23740 KB Output is correct
7 Correct 12 ms 23900 KB Output is correct
8 Correct 10 ms 23900 KB Output is correct
9 Incorrect 13 ms 23904 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23984 KB Output is correct
2 Correct 10 ms 23900 KB Output is correct
3 Correct 11 ms 23984 KB Output is correct
4 Correct 11 ms 23900 KB Output is correct
5 Correct 11 ms 23952 KB Output is correct
6 Correct 12 ms 23740 KB Output is correct
7 Correct 12 ms 23900 KB Output is correct
8 Correct 10 ms 23900 KB Output is correct
9 Incorrect 13 ms 23904 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23984 KB Output is correct
2 Correct 10 ms 23900 KB Output is correct
3 Correct 11 ms 23984 KB Output is correct
4 Correct 11 ms 23900 KB Output is correct
5 Correct 11 ms 23952 KB Output is correct
6 Correct 12 ms 23740 KB Output is correct
7 Correct 12 ms 23900 KB Output is correct
8 Correct 10 ms 23900 KB Output is correct
9 Incorrect 13 ms 23904 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23984 KB Output is correct
2 Correct 10 ms 23900 KB Output is correct
3 Correct 11 ms 23984 KB Output is correct
4 Correct 11 ms 23900 KB Output is correct
5 Correct 11 ms 23952 KB Output is correct
6 Correct 12 ms 23740 KB Output is correct
7 Correct 12 ms 23900 KB Output is correct
8 Correct 10 ms 23900 KB Output is correct
9 Incorrect 13 ms 23904 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 23984 KB Output is correct
2 Correct 10 ms 23900 KB Output is correct
3 Correct 11 ms 23984 KB Output is correct
4 Correct 11 ms 23900 KB Output is correct
5 Correct 11 ms 23952 KB Output is correct
6 Correct 12 ms 23740 KB Output is correct
7 Correct 12 ms 23900 KB Output is correct
8 Correct 10 ms 23900 KB Output is correct
9 Incorrect 13 ms 23904 KB Output isn't correct
10 Halted 0 ms 0 KB -