Submission #78567

#TimeUsernameProblemLanguageResultExecution timeMemory
78567hamzqq9Sailing Race (CEOI12_race)C++14
5 / 100
1470 ms9696 KiB
#include<bits/stdc++.h> #define st first #define nd second #define pb push_back #define ppb pop_back #define umax(x,y) x=max(x,y) #define umin(x,y) x=min(x,y) #define ll long long #define ii pair<int,int> #define iii pair<ii,int> #define iiii pair<ii,ii> #define sz(x) ((int) x.size()) #define orta ((bas+son)>>1) #define all(x) x.begin(),x.end() #define dbgs(x) cerr<<(#x)<<" --> "<<(x)<<" " #define dbg(x) cerr<<(#x)<<" --> "<<(x)<<endl;getchar() #define pw(x) (1<<(x)) #define inf 2000000000 #define MOD 1000000007 #define N 505 #define MAX 5000000 #define LOG 100 #define KOK 333 using namespace std; int n,k,x; int ar[2*N],a[N][N],dp[2*N][2*N][2]; void f_1() { } void f_0() { int ans=-1,tut; /*for(int i=1;i<=2*n;i++,puts("")) { for(int j=1;j<=2*n;j++) { printf("%d ",dp[i][j]); } }*/ for(int i=1;i<=n;i++) { if(dp[i][i+n-1][0]>ans) { ans=dp[i][i+n-1][0]; tut=i; } } printf("%d\n%d\n",ans,tut); } void do_1() { } void do_0() { for(int len=2;len<=n;len++) { for(int fr=1;fr>-1;fr--) { for(int i=1;i<=2*n;i++) { int beg=i-len+1; int en=i+len-1; if(beg>=1) { for(int j=beg+fr;j<i;j++) { if(a[ar[i]][ar[j]]) umax(dp[i][beg][fr],max(dp[j][beg][0],dp[j][i][1])+1); } } if(en<=2*n) { for(int j=i+1;j<=en-fr;j++) { if(a[ar[i]][ar[j]]) umax(dp[i][en][fr],max(dp[j][en][0],dp[j][i][1])+1); } } } } } } int main() { //freopen("input.txt","r",stdin); scanf("%d %d",&n,&k); for(int i=1;i<=n;i++) { do { scanf("%d",&x); if(x==0) break ; a[i][x]=1; } while(1); } for(int i=1;i<=n;i++) ar[i]=ar[i+n]=i; do_0(); do_1(); if(k==0) f_0(); else f_1(); }

Compilation message (stderr)

race.cpp: In function 'int main()':
race.cpp:108:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&k);
  ~~~~~^~~~~~~~~~~~~~~
race.cpp:114:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d",&x);
    ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...