Link to Problem:-https://cses.fi/problemset/task/1164
Code
can Someone please help me with my code..it is not working for some test cases..i have tried many test cases but could'nt find out my mistake
# | User | Rating |
---|---|---|
1 | Radewoosh | 3759 |
2 | orzdevinwang | 3697 |
3 | jiangly | 3662 |
4 | Benq | 3644 |
5 | -0.5 | 3545 |
6 | ecnerwala | 3505 |
7 | tourist | 3486 |
8 | inaFSTream | 3478 |
9 | maroonrk | 3454 |
10 | Rebelz | 3415 |
# | User | Contrib. |
---|---|---|
1 | adamant | 173 |
2 | awoo | 168 |
3 | nor | 164 |
4 | SecondThread | 163 |
5 | BledDest | 162 |
5 | Um_nik | 162 |
7 | maroonrk | 161 |
8 | -is-this-fft- | 150 |
9 | Geothermal | 146 |
10 | TheScrasse | 143 |
Help in Cses Room Allocation Problem
Link to Problem:-https://cses.fi/problemset/task/1164
using namespace std;
bool compareBy(const pair<ll,pair<ll,int> >&a,const pair<ll ,pair<ll,int> >&b){ if(a.second.first!=b.second.first) return a.second.first<b.second.first;
return a.first<b.first;
} void solve(){ ll int n; cin>>n; vector<pair<ll,pair<ll,int> > >a;
for(int i=0;i<n;i++){ ll x,y; cin>>x>>y; a.push_back({x,{y,i}}); }
sort(a.begin(),a.end(),compareBy);
int res[n]={},valAssigned=1;
res[a[0].second.second]=valAssigned;
priority_queue<pair<int,int> ,vector<pair<int,int> >,greater<pair<int,int> > >pq;
pq.push({a[0].second.first,1}); //storing the finish time of room with the room number
for(int i=1;i<n;i++){
if(a[i].first>pq.top().first){
auto temp=pq.top().second;
pq.pop();
res[a[i].second.second]=temp;
pq.push({a[i].second.first,temp});
}
else{
res[a[i].second.second]=++valAssigned;
pq.push({a[i].second.first,valAssigned});
}
}
cout<<valAssigned<<"\n";
for(int i=0;i<n;i++)
cout<<res[i]<<" ";
cout<<endl;
}
int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t=1; // cin>>t; while(t--){ solve(); } }
can Someone please help me with my code..it is not working for some test cases..i have tried many test cases but could'nt find out my mistake
Name |
---|