Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /********************
- Riz1 Ahmed, CSE, LU.
- fb.com/riz1ahmed
- Code Start Time: 2020-02-09-17.20
- ********************/
- #include<bits/stdc++.h>
- #define Fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
- #define FOR(i,l,r) for(i=l;i<=r;i++)
- #define ll long long int
- void Print(ll n) {printf("%lld\n",n);}
- const ll Mod=1e9+7,MX=1e7;
- using namespace std;
- struct R{ double cr,gpa;};
- double totcr,totgpa;
- bool cmp(R a,R b){
- double acgpa=(totgpa-a.gpa+4)/(totcr);
- double bcgpa=(totgpa-b.gpa+4)/(totcr);
- return (acgpa<bcgpa);
- }
- int main(){
- string s;
- double n,ex,i,cr,gpa;
- while(cin>>n>>ex){
- vector<R> v;
- totcr=0,totgpa=0;
- for (i=0; i<n; i++){
- cin>>s>>cr>>gpa;
- if (!gpa) continue;
- //printf("%.1f,%1f\n",cr,gpa);
- if (gpa<=2.75) v.push_back({cr,gpa});
- totgpa+=cr*gpa;
- totcr+=cr;
- //printf("Total Creadit=%.1f, Total CGPA=%.1f\n",totcr,totgpa);
- }
- double cgpa=totgpa/totcr;
- int c=0;
- //printf("CGPA=%.1f\n\n",cgpa);
- sort(v.begin(), v.end(),cmp);
- //for (auto it:v) printf("%.1f %.1f\n",v[i].cr,v[i]);
- //printf("%.0lf\n",c);
- while (v.size() && cgpa<ex){
- c++;
- cr=v.back().cr, gpa=v.back().gpa, v.pop_back();
- totgpa-=cr*gpa, totgpa+=cr*4.0;
- cgpa=totgpa/totcr;
- }
- if(cgpa<ex) puts("Impossible");
- else printf("%d\n",c);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement