Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <vector>
- #include <lm.h>
- using namespace std;
- struct Book{
- int x = 0;
- int p = 0;
- int ap = 0;
- void setAP(){
- ap = abs(p);
- }
- void operator =(Book& right){
- x = right.x;
- p = right.p;
- ap = right.ap;
- }
- };
- void sort(vector<Book> array, int start, int end){
- int middle = start + (end - start)/2;
- vector<Book> leftSide;
- vector<Book> rightSide;
- for(int i = start; i <=end; i++){
- if(array[i].x < array[middle].x){
- leftSide.push_back(array[i]);
- }else{
- rightSide.push_back(array[i]);
- }
- }
- for(int i = 0,q = start; i < middle; i+=1,q+=1){
- array[q] = leftSide[i];
- }
- for(int i = 0,q = middle; q <= end; i+=1,q+=1){
- array[q] = rightSide[i];
- }
- sort(array,start,middle-1);
- sort(array,middle,end);
- }
- int main() {
- //Объявление и инициализация переменных
- vector <Book> books;
- int countBooks = 0;
- //Конец
- cin >> countBooks;
- books.resize(countBooks);
- for(int i = 0; i < countBooks; i += 1){
- cin >> books[i].p;
- books[i].setAP();
- }//Подсчет X
- for(int i = 0; i < countBooks; i += 1){
- for(int q = 0; q < countBooks; q += 1){
- books[i].x += abs(books[i].p - books[q].p);
- }
- }//Конец
- sort(books,0,countBooks+1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement