Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
32899 | hi_hi | 【S】小 Y 的守卫 | C++ | 运行超时 | 15 | 1000 MS | 272 KB | 858 | 2024-10-02 14:13:12 |
#include<bits/stdc++.h> using namespace std; long long n,a[2005],nmin; long long vis[2005],ji[2005]; void dfs(long long now,long long l,long long po,long long nmax,long long last){ if(now==l-1){ nmin=min(nmin,po); return; } if(last==-1 || nmax>a[last] || a[now]<nmax){ dfs(now-1,l,po+1,0,now); } else{ dfs(now-1,l,po+1,0,now); dfs(now-1,l,po,max(nmax,a[now]),last); } } int main(){ scanf("%lld",&n); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); } long long sum=0; for(int i=1;i<=n;i++){ for(int j=i;j<=n;j++){ nmin=0x3f3f3f3f3f3f3f3f; if(i==j){ sum^=1; continue; } dfs(j,i,0,0,-1); sum^=nmin; } } printf("%lld",sum); }