Advertisement
a53

RecycleBin

a53
Mar 11th, 2020
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. /// prof. Ionel-Vasile Pit-Rada
  2. /// Colegiul National Traian Drobeta Turnu Severin
  3.  
  4. ///O(n*n*log(n))
  5. #include <fstream>
  6. using namespace std;
  7. ifstream fin("recyclebin.in");
  8. ofstream fout("recyclebin.out");
  9. int n,v,i,j,k,dp[1002][1024],vmax;
  10. ///dp[i][j]=cea mai mare suma a unei secvente cu capatul din dreapta egal cu i si din care
  11. ///s-au eliminat secvente de lungimi puteri de 2, distincte, care insumate dau valoarea j
  12. int main(){
  13. fin>>n;
  14. for(i=1;i<=n;i++){
  15. fin>>v;
  16. for(k=0;k<=i-1;k++){
  17. dp[i][k]=max(dp[i][k],v+dp[i-1][k]);
  18. vmax=max(vmax,dp[i][k]);
  19. }
  20. for(j=1;j<=i-1;j=j*2){
  21. for(k=0;k<=i-j;k++){
  22. if((j&k)==0){
  23. dp[i][(k|j)]=max(dp[i][(k|j)],dp[i-j][k]);
  24. vmax=max(vmax,dp[i][(k|j)]);
  25. }
  26. }
  27. }
  28. }
  29. fout<<vmax; fout.close(); fin.close(); return 0;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement