Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("ratc2.in");
- ofstream fout("ratc2.out");
- struct pasager
- {
- char pren[51], nume[51];
- int bilet;
- bool operator < (const pasager& e) const
- {
- if(bilet != e.bilet)
- return bilet > e.bilet;
- if(strcmp(pren, e.pren)!=0)
- return strcmp(pren, e.pren)<0;
- if(strcmp(nume, e.nume)!=0)
- return strcmp(nume, e.nume)<0;
- return 0;
- }
- };
- pasager v[101], x, xmaxp;
- int n, p, lv, maxp;
- int main()
- {
- int i, j, ok;
- fin>>n>>p;
- if(p==1)
- {
- for(i=1; i<=n; i++)
- {
- fin>>x.pren>>x.nume>>x.bilet;
- if(x.bilet==0)
- {
- j=1;ok=0;
- while(j<=lv && !ok)
- {
- if(strcmp(x.pren,v[j].pren)==0 && strcmp(x.nume,v[j].nume)==0)
- ok=1, j--;
- j++;
- }
- if(ok)
- v[j].bilet++;
- else
- {
- ++lv;
- strcpy(v[lv].pren,x.pren);
- strcpy(v[lv].nume,x.nume);
- v[lv].bilet=1;
- }
- }
- }
- for(i=1; i<=lv; i++)
- if(v[i].bilet > maxp)
- {
- maxp=v[i].bilet;
- strcpy(xmaxp.pren, v[i].pren);
- strcpy(xmaxp.nume, v[i].nume);
- xmaxp.bilet=v[i].bilet;
- }
- else if(v[i].bilet == maxp)
- {
- if(strcmp(v[i].pren, xmaxp.pren)<0)
- {
- strcpy(xmaxp.pren, v[i].pren);
- strcpy(xmaxp.nume, v[i].nume);
- xmaxp.bilet=v[i].bilet;
- }
- else if(strcmp(v[i].pren, xmaxp.pren)==0)
- {
- if(strcmp(v[i].nume, xmaxp.nume)<0)
- {
- strcpy(xmaxp.pren, v[i].pren);
- strcpy(xmaxp.nume, v[i].nume);
- xmaxp.bilet=v[i].bilet;
- }
- }
- }
- fout<<xmaxp.pren<<" "<<xmaxp.nume<<" "<<xmaxp.bilet;
- return 0;
- }
- for(i=1; i<=n; i++)
- {
- fin>>x.pren>>x.nume>>x.bilet;
- j=1;ok=0;
- while(j<=lv && !ok)
- {
- if(strcmp(x.pren,v[j].pren)==0 && strcmp(x.nume,v[j].nume)==0)
- ok=1, j--;
- j++;
- }
- if(ok)
- {
- if(x.bilet==0)
- v[j].bilet++;
- }
- else
- {
- ++lv;
- strcpy(v[lv].pren,x.pren);
- strcpy(v[lv].nume,x.nume);
- if(x.bilet==0)
- v[lv].bilet++;
- else
- v[lv].bilet=0;
- }
- }
- sort(v+1,v+lv+1);
- for(i=1; i<=lv; i++)
- fout<<v[i].pren<<" "<<v[i].nume<<" "<<v[i].bilet<<'\n';
- return 0;
- }
Add Comment
Please, Sign In to add comment