Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 9 18 22 11 5 20 10 21 24 3 13 23 17 14 12 8 4 6 7 15 1 19 2 16
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
- 9 10 44 30 48 42 29 22 12 47 35 15 33 26 25 36 19 14 37 43 31 16 13 28 3 21 6 32 39 5 34 41 38 46 17 2 18 40 7 45 27 23 20 4 11 1 24 8
- 37 19 45 17 20 21 41 25 29 12 8 7 23 24 15 43 6 48 27 10 32 46 16 26 28 31 36 2 4 42 13 47 30 9 22 33 1 35 14 44 39 40 5 3 38 11 34 18
- cmax1: 14239
- cmax2: 33465
- cmax3: 40042
- cmax4: 39616
- //program
- #include <fstream>
- #include <iostream>
- #include <cstdlib>
- using namespace std;
- typedef struct
- {
- int r;
- int p;
- int q;
- int k;
- }linia;
- int czyData(string linia)
- {
- string wzor = "data.";
- int i;
- for(i=0;i<5;i++)
- {
- if(wzor[i] != linia[i])
- return -1;
- i++;
- }
- return (int)linia[5]-'0';
- }
- int main()
- {
- ifstream dane;
- dane.open("rpq_data.txt");
- string cos;
- linia *tab[4];
- int ktore,liczba;
- while(dane.good())
- {
- dane>>cos;
- //cout<<cos<<" ";
- ktore = czyData(cos);
- if(ktore != -1)
- {
- dane >> liczba;
- //cout<<liczba;
- tab[ktore-1] = new linia[liczba];
- for(int i=0;i<liczba;i++)
- {
- dane>>tab[ktore-1][i].r;
- dane>>tab[ktore-1][i].p;
- dane>>tab[ktore-1][i].q;
- tab[ktore-1][i].k=i+1;
- }
- }
- }
- cout<<endl;
- //wyswietl
- /*
- for(int i=0;i<24;i++)
- {
- cout<<tab[0][i].r<<" "<<tab[0][i].p<<" "<<tab[0][i].q<<" "<<tab[0][i].k<<endl;
- }
- cout<<endl;
- */
- //posortuj
- for(int j = 0; j<23; j++)
- for(int i = 0; i<23; i++)
- if(tab[0][i].r > tab[0][i+1].r)
- swap(tab[0][i],tab[0][i+1]);
- for(int j = 0; j<23; j++)
- for(int i = 0; i<23; i++)
- if(tab[1][i].r > tab[1][i+1].r)
- swap(tab[1][i],tab[1][i+1]);
- for(int j = 0; j<47; j++)
- for(int i = 0; i<47; i++)
- if(tab[2][i].r > tab[2][i+1].r)
- swap(tab[2][i],tab[2][i+1]);
- for(int j = 0; j<47; j++)
- for(int i = 0; i<47; i++)
- if(tab[3][i].r > tab[3][i+1].r)
- swap(tab[3][i],tab[3][i+1]);
- //wyswietl kolejnosci
- for(int i=0;i<24;i++)
- cout<<tab[0][i].k<<" ";
- cout<<endl<<endl;
- for(int i=0;i<24;i++)
- cout<<tab[1][i].k<<" ";
- cout<<endl<<endl;
- for(int i=0;i<48;i++)
- cout<<tab[2][i].k<<" ";
- cout<<endl<<endl;
- for(int i=0;i<48;i++)
- cout<<tab[3][i].k<<" ";
- cout<<endl<<endl;
- //oblicz i wyswietl cmax
- cout<<endl;
- int suma = 0;
- int cmax = 0;
- for (int i = 0; i < 24; i++)
- {
- suma=max(suma,tab[0][i].r)+tab[0][i].p;
- cmax = max(cmax,suma+tab[0][i].q);
- }
- cout<<"cmax1: "<<cmax<<endl;
- suma = 0;
- cmax = 0;
- for (int i = 0; i < 24; i++)
- {
- suma=max(suma,tab[1][i].r)+tab[1][i].p;
- cmax = max(cmax,suma+tab[1][i].q);
- }
- cout<<"cmax2: "<<cmax<<endl;
- suma = 0;
- cmax = 0;
- for (int i = 0; i < 48; i++)
- {
- suma=max(suma,tab[2][i].r)+tab[2][i].p;
- cmax = max(cmax,suma+tab[2][i].q);
- }
- cout<<"cmax3: "<<cmax<<endl;
- suma = 0;
- cmax = 0;
- for (int i = 0; i < 48; i++)
- {
- suma=max(suma,tab[3][i].r)+tab[3][i].p;
- cmax = max(cmax,suma+tab[3][i].q);
- }
- cout<<"cmax4: "<<cmax<<endl;
- dane.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement