Advertisement
Guest User

Untitled

a guest
Oct 20th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4. int n,m;
  5. int v[110];
  6. int t[11010];
  7. int s[11010];
  8. const int nil = -12377;
  9. int main() {
  10. cin >> n >> m;
  11. for(int i = 0; i < n;i++)cin >> v[i];
  12. int sum = 0;
  13. for(int i = 2; i < n;i++)sum += v[i];
  14. int ta = sum - (m - (v[0] - v[1]));
  15. cout <<" OIK "<< ta << endl;
  16. t[0] = -1;
  17. for(int i = 1; i <= ta;i++)t[i] = nil;
  18. for(int i = 2; i < n;i++){
  19. for(int j = ta - 1; j >= 0; j--){
  20. if(t[j] != nil){
  21. if(t[j + 2 * v[i]] == nil)t[j + 2 * v[i]] = i;
  22. if(t[ta] != nil)break;
  23. }
  24. }
  25. if(t[ta] != nil)break;
  26. }
  27. s[0] = 1, s[1] = -1;
  28. for(int i = 2; i < n;i++)s[i] = 1;
  29. int cpy = ta;
  30. do{
  31. if(!cpy)break;
  32. s[t[cpy]] = -1;
  33. cpy -= v[t[cpy]] * 2;
  34. }while(true);
  35. cpy = n - 1;
  36. int c = 0;
  37. do{
  38. while(s[cpy] == -1)cpy--;
  39. if(!cpy)break;
  40. int aux = 0;
  41. while(s[cpy] == 1)cpy--,aux++;
  42. cout << "MI CPY " << cpy << " " << aux << endl;
  43. for(int i = 1; i <= aux;i++)cout << cpy + 1 << "\n",c++;
  44. cpy--;
  45. }while(true);
  46. for(int i = 0; i < n - 1 - c;i++)cout << "1\n";
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement