QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#411171#6528. SequenceRafi2211 6ms15716kbC++143.7kb2024-05-15 06:10:012024-05-15 06:10:02

Judging History

你现在查看的是最新测评结果

  • [2024-05-15 06:10:02]
  • 评测
  • 测评结果:11
  • 用时:6ms
  • 内存:15716kb
  • [2024-05-15 06:10:01]
  • 提交

answer

#include <bits/stdc++.h>

#define ll long long
#define ld long double
#define endl '\n'
#define st first
#define nd second
#define pb push_back
#define sz(x) (int)(x).size()
#define all(x) (x).begin(), (x).end()
using namespace std;
int inf=1000000007;
ll infl=1000000000000000007;
int mod=998244353;

const int N=500007,pot=1<<19;

struct T1
{
    int seg[2*pot+7],lzy[2*pot+7];
    T1()
    {
        memset(seg,0,sizeof seg);
        memset(lzy,0,sizeof lzy);
    }
    void push(int v)
    {
        seg[2*v]+=lzy[v];
        lzy[2*v]+=lzy[v];
        seg[2*v+1]+=lzy[v];
        lzy[2*v+1]+=lzy[v];
        lzy[v]=0;
    }
    void ins(int v,int a,int b,int l,int r,int x)
    {
        if(a<=l&&b>=r)
        {
            seg[v]+=x;
            lzy[v]+=x;
            return ;
        }
        if(r<a||l>b) return ;
        push(v);
        ins(2*v,a,b,l,(l+r)/2,x);
        ins(2*v+1,a,b,(l+r)/2+1,r,x);
        seg[v]=min(seg[2*v],seg[2*v+1]);
    }
    int que(int v,int a,int b,int l,int r)
    {
        if(a<=l&&b>=r) return seg[v];
        if(r<a||l>b) return inf;
        push(v);
        return min(que(2*v,a,b,l,(l+r)/2),que(2*v+1,a,b,(l+r)/2+1,r));
    }
};

struct T2
{
    int seg[2*pot+7],lzy[2*pot+7];
    T2()
    {
        memset(seg,0,sizeof seg);
        memset(lzy,0,sizeof lzy);
    }
    void push(int v)
    {
        seg[2*v]+=lzy[v];
        lzy[2*v]+=lzy[v];
        seg[2*v+1]+=lzy[v];
        lzy[2*v+1]+=lzy[v];
        lzy[v]=0;
    }
    void ins(int v,int a,int b,int l,int r,int x)
    {
        if(a<=l&&b>=r)
        {
            seg[v]+=x;
            lzy[v]+=x;
            return ;
        }
        if(r<a||l>b) return ;
        push(v);
        ins(2*v,a,b,l,(l+r)/2,x);
        ins(2*v+1,a,b,(l+r)/2+1,r,x);
        seg[v]=max(seg[2*v],seg[2*v+1]);
    }
    int que(int v,int a,int b,int l,int r)
    {
        if(a<=l&&b>=r) return seg[v];
        if(r<a||l>b) return -inf;
        push(v);
        return max(que(2*v,a,b,l,(l+r)/2),que(2*v+1,a,b,(l+r)/2+1,r));
    }
};


vector<int>V[N];
int cnt[N];

int calc(vector<int>a)
{
    sort(all(a));
    for(auto x:a) cnt[x]++;
    int res=cnt[a[sz(a)/2]];
    if(sz(a)%2==0) res=max(res,cnt[a[sz(a)/2-1]]);
    for(auto x:a) cnt[x]--;
    return res;
}

int sequence(int n,vector<int>a)
{
    int ans=0;
    for(int i=0;i<n;i++)
    {
        vector<int>b;
        for(int j=i;j<n;j++)
        {
            b.pb(a[j]);
            ans=max(ans,calc(b));
        }
    }
    /*for(int i=0;i<n;i++) V[a[i]].pb(i+1);
    T1 Lmn,Rmn;
    T2 Lmx,Rmx;
    for(int i=0;i<=n;i++)
    {
        Lmn.ins(1,i+1,n+1,1,pot,-1);
        Rmn.ins(1,i+1,n+1,1,pot,-1);
        Lmx.ins(1,i+1,n+1,1,pot,-1);
        Rmx.ins(1,i+1,n+1,1,pot,-1);
    }
    int ans=0;
    for(int k=1;k<=n;k++)
    {
        for(auto i:V[k])
        {
            Rmx.ins(1,i+1,n+1,1,pot,2);
            Rmn.ins(1,i+1,n+1,1,pot,2);
        }
        int j=0;
        for(int i=0;i<sz(V[k]);i++)
        {
            while(j+1<sz(V[k]))
            {
                int L=Lmn.que(1,V[k][j+1]+1,n+1,1,pot)-Rmx.que(1,1,V[k][i],1,pot);
                int R=Rmx.que(1,V[k][j+1]+1,n+1,1,pot)-Rmn.que(1,1,V[k][i],1,pot);
                if(L<=0&&R>=0) j++;
                else break;
            }
            ans=max(ans,j-i+1);
        }
        for(auto i:V[k])
        {
            Lmx.ins(1,i+1,n+1,1,pot,2);
            Lmn.ins(1,i+1,n+1,1,pot,2);
        }
    }*/
    return ans;
}
/*
signed main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cout<<sequence(7, {1, 2, 3, 1, 2, 1, 3});

    return 0;
}*/

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 11
Accepted

Test #1:

score: 11
Accepted
time: 4ms
memory: 15716kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
98
92 89 9 86 80 6 42 20 84 82 46 56 52 30 44 39 35 82 57 33 18 38 32 63 27 55 33 44 41 39 62 26 46 59 21 85 36 60 7 36 50 22 87 83 71 27 4 3 87 47 17 62 70 24 9 20 81 21 57 50 13 32 68 70 11 95 5 56 64 90 47 42 44 72 71 46 84 72 56 63 37 35 80 78 4 54 74 79 ...

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
3

result:

ok 

Test #2:

score: 11
Accepted
time: 4ms
memory: 15712kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
96
1 6 1 4 6 2 5 1 1 2 8 2 4 4 1 9 8 9 8 5 3 6 6 4 9 4 2 8 8 8 2 9 1 3 6 6 1 6 5 5 3 7 9 7 1 8 5 6 8 5 1 1 4 9 6 7 2 6 6 7 4 2 2 8 5 6 4 8 2 6 5 8 6 1 6 2 1 3 4 6 3 6 8 2 5 7 8 2 4 1 5 6 2 3 6 6

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
18

result:

ok 

Test #3:

score: 11
Accepted
time: 0ms
memory: 15508kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
99
1 3 5 1 2 4 1 3 4 1 5 5 3 1 1 4 2 1 4 5 5 4 1 4 4 2 1 2 2 1 5 2 4 2 1 5 1 3 3 4 3 2 3 1 3 2 2 4 1 5 4 2 2 2 4 5 3 4 3 2 3 4 5 4 5 1 2 2 2 5 3 1 3 5 1 2 1 2 1 2 3 1 4 4 4 5 3 3 3 5 1 3 4 2 4 4 2 1 2

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
19

result:

ok 

Test #4:

score: 11
Accepted
time: 0ms
memory: 15436kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
100
29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 ...

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
100

result:

ok 

Test #5:

score: 11
Accepted
time: 6ms
memory: 15692kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
97
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8...

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
1

result:

ok 

Test #6:

score: 11
Accepted
time: 4ms
memory: 15716kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
100
48 40 13 1 8 31 46 19 42 9 13 8 33 43 85 9 36 21 83 49 4 49 49 24 49 82 9 88 24 33 23 99 79 46 83 49 2 4 40 92 49 44 92 99 49 49 38 49 12 29 49 89 100 81 79 85 22 38 49 8 27 29 3 100 100 42 82 49 31 26 40 49 46 10 49 49 84 77 93 20 33 90 49 18 49 49 18 84...

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
18

result:

ok 

Test #7:

score: 11
Accepted
time: 4ms
memory: 15692kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
97
42 47 7 23 9 10 53 75 53 53 2 1 75 14 4 16 53 35 32 37 97 31 47 91 77 84 53 87 93 85 70 80 2 19 53 53 67 85 25 3 37 41 52 21 30 84 25 15 37 30 97 53 22 97 33 97 53 9 69 38 71 6 74 4 13 26 27 90 91 47 11 90 7 76 97 17 80 53 23 95 73 53 1 21 43 42 2 33 29 32...

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
11

result:

ok 

Test #8:

score: 11
Accepted
time: 2ms
memory: 15712kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
98
72 73 8 81 47 26 17 61 93 69 95 7 25 42 15 45 17 88 42 94 68 49 23 50 93 42 97 43 11 7 83 42 43 42 57 12 76 54 61 76 71 42 62 87 87 7 42 83 92 47 72 66 88 1 23 51 42 26 74 42 84 70 59 42 83 14 60 81 53 56 42 20 56 8 92 69 42 76 42 24 87 70 4 80 79 61 66 93...

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
5

result:

ok 

Test #9:

score: 11
Accepted
time: 3ms
memory: 15476kb

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
99
85 88 94 94 59 47 63 75 75 40 38 35 59 56 81 48 96 47 46 34 96 62 35 46 83 34 95 34 69 48 15 10 3 92 67 34 38 92 84 84 42 49 86 63 82 65 39 89 80 14 34 69 55 42 67 34 68 86 15 72 18 96 2 7 1 89 16 68 65 97 52 38 92 34 87 16 2 62 34 18 34 74 34 8 21 77 45 8...

output:

nfp39szm23aa01pcmyosi03slwpeksnfjri3opqp
OK
7

result:

ok 

Subtask #2:

score: 0
Time Limit Exceeded

Dependency #1:

100%
Accepted

Test #10:

score: 0
Time Limit Exceeded

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
1999
486 1494 1286 1247 138 393 816 1646 971 1657 1284 1320 702 194 602 1775 13 1856 61 1264 1005 681 1679 1174 718 1781 1407 97 365 1949 1805 1609 1066 637 98 1686 1361 584 146 1879 941 62 1433 1850 729 1754 71 1292 1945 1328 1705 362 591 407 998 1909 1690 2...

output:

Unauthorized output

result:


Subtask #3:

score: 0
Time Limit Exceeded

Test #20:

score: 0
Time Limit Exceeded

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
499996
53 78 81 111 119 124 126 130 164 175 219 227 233 249 282 298 332 341 348 436 437 448 452 455 462 465 495 535 557 558 576 600 620 627 632 642 643 659 695 696 713 730 743 805 816 865 869 872 875 882 883 902 924 937 990 998 1025 1092 1137 1145 1166 1176 1...

output:

Unauthorized output

result:


Subtask #4:

score: 0
Time Limit Exceeded

Test #28:

score: 0
Time Limit Exceeded

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
499999
2 1 2 2 2 1 2 3 1 3 1 2 2 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 1 1 1 2 2 1 1 2 1 1 1 2 1 2 1 1 1 2 3 3 3 3 1 3 1 2 2 1 1 1 3 1 3 1 1 2 1 2 2 2 1 3 2 1 1 1 2 2 1 2 2 3 1 2 2 1 2 2 1 1 2 1 1 2 2 1 2 2 1 1 1 1 2 2 1 1 1 1 1 2 1 1 2 1 1 3 2 1 1 1 3 1 1 2 1 3 1 1 ...

output:

Unauthorized output

result:


Subtask #5:

score: 0
Time Limit Exceeded

Test #33:

score: 0
Time Limit Exceeded

input:

8wq90di9812978rqwiok0k0o21klklm21oiwi121
499999
490225 471440 499001 369862 494577 479599 486292 476071 471988 486939 482356 482290 497141 488452 495446 494292 404798 493826 482595 481107 447196 477441 418064 495941 448927 483365 418585 489220 443224 482574 487957 467944 493253 472016 475543 442250 ...

output:

Unauthorized output

result:


Subtask #6:

score: 0
Skipped

Dependency #2:

0%

Subtask #7:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%