Guest User

Untitled

a guest
Jan 23rd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. void quickSort(int arr[], int left, int right) {
  6. int i = left, j = right;
  7. int tmp;
  8. int pivot = arr[(left + right) / 2];
  9.  
  10. while (i <= j) {
  11. while (arr[i] < pivot)
  12. i++;
  13. while (arr[j] > pivot)
  14. j--;
  15. if (i <= j) {
  16. tmp = arr[i];
  17. arr[i] = arr[j];
  18. arr[j] = tmp;
  19. i++;
  20. j--;
  21. }
  22.  
  23. }
  24. }
  25.  
  26. int main (int argc, char *argv[]) {
  27. int brojOperacija;
  28. cin>>brojOperacija;
  29.  
  30. char operacije[10000];
  31. for (int i=0;i<brojOperacija;i++)
  32. {
  33. cin>>operacije[i];
  34. }
  35.  
  36. int broj[1000000];
  37. for (int i=0;i<(brojOperacija+1); i++)
  38. {
  39. cin>>broj[i];
  40. }
  41.  
  42. quickSort(broj,broj[1],broj[brojOperacija+1]);
  43. for(int i=1;i<brojOperacija+2;i++)
  44. {
  45. cout<<broj[i];
  46. }
  47.  
  48. int maxsuma = 0;
  49. int najveciKandidat = 0;
  50. int najmanjiKandidat = brojOperacija;
  51.  
  52. for (int i=0;i<brojOperacija+1;i++){
  53. if (operacije[i]=='+')
  54. {
  55. maxsuma = maxsuma + broj[najveciKandidat];
  56. najveciKandidat++;
  57. }
  58. else if (operacije[i]=='-')
  59. {
  60. maxsuma = maxsuma - broj[najmanjiKandidat];
  61. najmanjiKandidat--;
  62. }
  63. }
  64.  
  65. maxsuma += broj[najveciKandidat];
  66.  
  67. cout <<maxsuma;
  68. }
Add Comment
Please, Sign In to add comment