QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#622470#7866. Teleportationwzxtsl#RE 0ms0kbC++231.3kb2024-10-08 21:56:312024-10-08 21:56:33

Judging History

This is the latest submission verdict.

  • [2024-10-08 21:56:33]
  • Judged
  • Verdict: RE
  • Time: 0ms
  • Memory: 0kb
  • [2024-10-08 21:56:31]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#define fast ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
#define int long long
#define For(i,a,aa) for(int i=a;i<=aa;i++)
const int N=1e5+7;
int n,k;
int a[N];
int minn=0x3f3f3f3f3f;
int d[N];
void dfs(int pos,int cnt){
    if(pos==k){minn=min(minn,cnt);return;}
    int beg=(pos+a[pos])%n;
    for(int i=beg;i<n;i++){
        if(d[i]){
            if(d[i]>cnt+i-beg+1){
                d[i]=min(d[i],cnt+i-beg+1);
               // minn=min(minn,d[i]);
                dfs(i,cnt+i-beg+1);
            }
        }
        else{
            d[i]=cnt+i-beg+1;
          //  minn=min(minn,d[i]);
            dfs(i,cnt+i-beg+1);
        }
    }
    for(int i=0;i<=beg-1;i++){
        if(d[i]){
            if(d[i]>i+n-beg+cnt){
                d[i]=min(d[i],i+n-beg+cnt);
               // minn=min(minn,d[i]);
                dfs(i,i+n-beg+cnt);
            }
        }
        else{
            d[i]=i+n-beg+cnt;
          //  minn=min(minn,d[i]);
            dfs(i,i+n-beg+cnt);
        }
    }

}
void solve(){
    cin>>n>>k;
    For(i,0,n-1) 
        cin>>a[i];
    dfs(0,0);
    cout<<minn<<endl;
    
}
signed main(){
    fast;
    int t=1;
    //cin>>t;
    while(t--){
        solve();
    }
    system("pause");
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Dangerous Syscalls

input:

4 3
0 1 2 3

output:

4

result: