Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- void quickSort(int arr[], int left, int right) {
- int i = left, j = right;
- int tmp;
- int pivot = arr[(left + right) / 2];
- while (i <= j) {
- while (arr[i] < pivot)
- i++;
- while (arr[j] > pivot)
- j--;
- if (i <= j) {
- tmp = arr[i];
- arr[i] = arr[j];
- arr[j] = tmp;
- i++;
- j--;
- }
- }
- }
- int main (int argc, char *argv[]) {
- int brojOperacija;
- cin>>brojOperacija;
- char operacije[10000];
- for (int i=0;i<brojOperacija;i++)
- {
- cin>>operacije[i];
- }
- int broj[1000000];
- for (int i=0;i<(brojOperacija+1); i++)
- {
- cin>>broj[i];
- }
- quickSort(broj,broj[1],broj[brojOperacija+1]);
- for(int i=1;i<brojOperacija+2;i++)
- {
- cout<<broj[i];
- }
- int maxsuma = 0;
- int najveciKandidat = 0;
- int najmanjiKandidat = brojOperacija;
- for (int i=0;i<brojOperacija+1;i++){
- if (operacije[i]=='+')
- {
- maxsuma = maxsuma + broj[najveciKandidat];
- najveciKandidat++;
- }
- else if (operacije[i]=='-')
- {
- maxsuma = maxsuma - broj[najmanjiKandidat];
- najmanjiKandidat--;
- }
- }
- maxsuma += broj[najveciKandidat];
- cout <<maxsuma;
- }
Add Comment
Please, Sign In to add comment