답안 #551039

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
551039 2022-04-19T18:07:39 Z ala2 Bali Sculptures (APIO15_sculpture) C++14
0 / 100
80 ms 169992 KB
    #include <bits/stdc++.h>
    #define int long long
    #define pb push_back
    #define F first
    #define S second
    #define B begin()
    #define E end()
    using namespace std;
    int n,l,r;
    int a[1001000];
    int p[1000100];
    int suf[1001000];
    int dp[104][104][2004];
    int sum(int i,int j)
    {
        return p[j]-p[i]+a[i];
    }
    int f(int i,int k,int x)
    {
        if(k==r)
        {
            return (x|suf[i]);
        }
        if(i==n-1)
            return (x|a[i]);
        if(dp[i][k][x]!=-1)
            return dp[i][k][x];
        int mn=1e17;
        if(k>=l)
            mn=min(mn,(suf[i]|x));
        for(int j=i;j<n-1;j++)
        {
            mn=min(mn,f(j+1,k+1,(x|sum(i,j))));

        }
        return dp[i][k][x]=mn;

    }
    signed main()
    {
         memset(dp,-1,sizeof dp);
        cin>>n>>l>>r;
        l--;
        r--;
        for(int i=0;i<n;i++)
            cin>>a[i];
        p[0]=a[0];
        for(int i=1;i<n;i++)
            p[i]=p[i-1]+a[i];
        suf[n-1]=a[n-1];
        for(int i=n-2;i>=0;i--)
        {
            suf[i]=suf[i+1]+a[i];
        }
        int rr=r;
        int mn=1e18;
        for(int i=l;i<=rr;i++)
        {
            r=i;
        mn=min(mn,f(0,0,0));

        }
        r=rr;
        while(mn>f(0,0,0))
        {
            
        }
        cout<<mn<<endl;
    }
# 결과 실행 시간 메모리 Grader output
1 Correct 74 ms 169848 KB Output is correct
2 Incorrect 72 ms 169956 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 72 ms 169852 KB Output is correct
2 Incorrect 63 ms 169908 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 69 ms 169992 KB Output is correct
2 Incorrect 79 ms 169948 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 80 ms 169968 KB Output is correct
2 Incorrect 69 ms 169920 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 68 ms 169968 KB Output is correct
2 Incorrect 68 ms 169948 KB Output isn't correct
3 Halted 0 ms 0 KB -