From c5fcf7179a83ef65c86c6a4a390029149e518649 Mon Sep 17 00:00:00 2001 From: Franciszek Malinka Date: Tue, 5 Oct 2021 21:49:54 +0200 Subject: Duzy commit ze smieciami --- semestr-4/sieci/warsztaty8/mie1.cpp | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 semestr-4/sieci/warsztaty8/mie1.cpp (limited to 'semestr-4/sieci/warsztaty8/mie1.cpp') diff --git a/semestr-4/sieci/warsztaty8/mie1.cpp b/semestr-4/sieci/warsztaty8/mie1.cpp new file mode 100644 index 0000000..f7eef7e --- /dev/null +++ b/semestr-4/sieci/warsztaty8/mie1.cpp @@ -0,0 +1,64 @@ +#include +#include +#include +using namespace std; + +#define EPS 0.000001 + +int main() { + int numLiquids, reqCon, liquid[101]; + double sumSubst=0, sumLiquid=0, actCon; + + fill(liquid,liquid+101,0); + + scanf("%d%d",&numLiquids,&reqCon); + + for (int i=0;i0)) { + double perc=(double)i/100, toSub=(double)((double)reqCon*sumLiquid-100*sumSubst)/((double)reqCon-(double)100*perc); + + toSub=min(toSub,(double)liquid[i]); + + sumLiquid-=toSub; + sumSubst-=(toSub*i)/100; + } + if ((actCon>(double)reqCon)&&(liquid[100-i]>0)) { + double perc=(double)(100-i)/100, toSub=(double)((double)reqCon*sumLiquid-100*sumSubst)/((double)reqCon-(double)100*perc); + + toSub=min(toSub,(double)liquid[100-i]); + + sumLiquid-=toSub; + sumSubst-=(toSub*(100-i))/100; + } + + if (sumLiquid==0) { + printf("0.000\n"); + return 0; + } + actCon=(sumSubst/sumLiquid)*100; + + if (fabs((double)reqCon-actCon)