Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <algorithm>
- using namespace std;
- struct job
- {
- int minn,maxx;
- } v[999999];
- bool comp(job a, job b)
- {
- if(a.minn==b.minn)
- return a.maxx<b.maxx;
- else
- return a.minn<b.minn;
- }
- int n,m,i,ok,j,f[99999],k;
- int main()
- {
- ifstream in("competitie.in");
- ofstream out("competitie.out");
- in>>n>>m;
- for(i=1; i<=m; i++)
- in>>v[i].minn>>v[i].maxx;
- sort(v+1,v+m+1,comp);
- for(i=1; i<=n; i++)
- {
- ok=0;
- for(j=1; j<=m && ok==0; j++)
- if(v[j].maxx==i)
- ok=1;
- if(ok==0 && f[i]==0)
- {
- out<<i<<' ';
- f[i]=1;
- }
- for(j=1; j<=m; j++)
- {
- if(v[j].minn==i)
- {
- if(v[j].minn<v[j].maxx && v[j].maxx-v[j].minn!=1)
- for(k=v[j].minn+1; k<v[j].maxx; k++)
- {
- if(f[k]==0){
- out<<k<<' ';
- f[k]=1;
- }
- }
- if(f[v[j].maxx]==0) out<<v[j].maxx<<' ';
- f[v[j].minn]=1;
- f[v[j].maxx]=1;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement