summaryrefslogtreecommitdiff
path: root/10327/flip.cpp
diff options
context:
space:
mode:
Diffstat (limited to '10327/flip.cpp')
-rw-r--r--10327/flip.cpp40
1 files changed, 7 insertions, 33 deletions
diff --git a/10327/flip.cpp b/10327/flip.cpp
index 3f5c897..dacdb54 100644
--- a/10327/flip.cpp
+++ b/10327/flip.cpp
@@ -1,48 +1,22 @@
#include <iostream>
#include <vector>
-//simple bubble sort for now, change later
-std::vector<int> sort(std::vector<int> nums){
- int j, sorted = 0, temp;
- while(0 == sorted){
- sorted = 1;
- for(int i=0; i<nums.size()-1; i++){
- j = i+1;
- if(nums[i]>nums[j]){
- temp = nums[i];
- nums[i] = nums[j];
- nums[j] = temp;
- sorted = 0;
- }
- }
- }
- return nums;
-}
-
int main(){
int n;
while(std::cin>>n){
- std::vector<int> nums, sorted;
+ std::vector<int> nums;
int num;
while(n--){
std::cin>>num;
nums.push_back(num);
}
- sorted = sort(nums);
-
- int mark[1000] = {0};
- int pos[1000] = {0};
-
- for(int i=0; i<nums.size(); i++){
- for(int j=0; j<sorted.size(); j++){
- if(nums[i]==sorted[j] && mark[j]!=1){
- pos[i] = j - i;
- mark[j] = 1;
- break;
- }
+ int flips = 0;
+ for(int i=0; i<nums.size()-1; i++){
+ for(int j=i+1; j<nums.size(); j++){
+ if(nums[i]>nums[j])
+ flips+=1;
}
}
- //
- std::cout<<"\n";
+ std::cout<<"Minimum exchange operations : "<<flips<<std::endl;
}
}