为什么开O2就42分,关了直接AC,开O2关同步14分
(还有若干组合,分都不一样,真整成排列组合了,why?)离谱
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int d[N],c[N],n,m,f[N][N];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>d[i];
for(int i=1;i<=m;i++)cin>>c[i];
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)
{
if(i==0)
{
if(j==0)f[i][j]=0;
else f[i][j]=f[i][j-1];
}
if(j<i)f[i][j]=0x3f3f3f3f;
else f[i][j]=min(f[i][j-1],f[i-1][j-1]+d[i]*c[j]);
}
int minl=0x3f3f3f3f;
for(int i=n;i<=m;i++)
minl=min(f[n][i],minl);
cout<<minl<<endl;
return 0;
}