Submission #1352173

#TimeUsernameProblemLanguageResultExecution timeMemory
1352173FaggiHomecoming (BOI18_homecoming)C++20
0 / 100
1094 ms4372 KiB
#include <bits/stdc++.h>
#include "homecoming.h"
#define ll long long
#define sz(x) int(x.size())
#define forn(i, n) for (i = 0; i < n; i++)
#define all(x) x.begin(), x.end()
#define pb push_back
#define mp make_pair
#define fr first
#define se second
using namespace std;

long long int solve(int N, int K, int *A, int *B)
{
    ll i, j, sum, ans = 0, p, m, mi, mj, gan;
    K = min(K, N);
    vector<bool> vis(N, 0), proc(N,0);
    bool sig = 1;
    while (sig)
    {
        m=0;
        sig=0;
        for (i = 0; i < N; i++)
        {
            sum=0;
            gan=0;
            for(j=0; j<N; j++)
            {
                p=(i-j+N)%N;
                if(vis[p]==0)
                    sum=sum+B[p];
                if(j>=K-1&&proc[p]==0)
                    gan=gan+A[p];
                if(gan-sum>m)
                {
                    m=gan-sum;
                    mi=i;
                    mj=j;
                }
                
            }
        }
        if(m>0)
        {
            sig=1;
            ans=ans+m;
            i=mi;
            for(j=0; j<=mj; j++)
            {
                p=(i-j+N)%N;
                vis[p]=1;
                if(j>=K-1&&proc[p]==0)
                    proc[p]=1;
            }
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...