Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;const int MAX=2e5;int a[MAX],b[200],n,m;double cla(int x){a[x]++;double ans=1;for(int i=1;i<=m;i++)ans*=pow(a[i],1.0/b[i]);a[x]--;return ans;}int main(){cin>>n>>m;for(int i=1;i<=m;i++)scanf("%d",&a[i]);for(int i=1;i<=m;i++)scanf("%d",&b[i]);double ans=1;for(int i=1;i<=m;i++)ans*=pow(a[i],1.0/b[i]);for(int i=1;i<=n;i++){int x;for(int j=1;j<=m;j++){if(cla(j)>ans){ans=cla(j);x=j;}}a[x]++;