这个算法算出来的结果是第十个点WA,有没有懂的大佬指点一下怎么改进???
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
int ans[10000000];
int temp,N;
int main()
{
ans[1]=1;
ans[2]=2;
ans[3]=3;
ans[4]=4;
ans[5]=1;
ans[11]=1;
cin>>N;
for(int i=6;i<=N;i++)
{
temp=min(ans[i-1]+1,ans[i-5]+1);
if(i>11) temp=min(ans[i-11]+1,temp);
ans[i]=temp;
}
cout<<ans[N];
return 0;
}