fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int maxof(int a[], int m)
  5. {
  6. int x = a[0];
  7. for (int i = 1; i < m; i++)
  8. if (x < a[i])
  9. x = a[i];
  10. return x;
  11. }
  12.  
  13. int maxind(int a[], int m)
  14. {
  15. int x = maxof(a,m);
  16. int n = 0;
  17. while (a[n] != x)
  18. n++;
  19. return n;
  20. }
  21.  
  22. int maxcost(int a[], int n, int m)
  23. {
  24. int x = 0;
  25. for (int i = 0; i < n; i++) {
  26. for (int j = 0; j < m; j++)
  27. cout << a[j] << " ";
  28. cout << endl;
  29. x += maxof(a,m);
  30. a[maxind(a,m)]--;
  31. }
  32. return x;
  33. }
  34.  
  35. int main()
  36. {
  37. int n,m;
  38. cin >> n >> m;
  39. int a[m];
  40. for (int i = 0; i < m; i++)
  41. cin >> a[i];
  42. /*
  43.   for (int i = 0; i < m; i++)
  44.   cout << a[i] << " ";
  45.   cout << endl;
  46.   */
  47. cout << maxcost(a,n,m);// << " " << mincost(a,n,m);
  48. }
Success #stdin #stdout 0s 3300KB
stdin
4 3
2 1 1
stdout
2 1 1 
1 1 1 
0 1 1 
0 0 1 
5