Task: | Taxing Problem |
Sender: | KnowYourArchitecture |
Submission time: | 2016-11-12 15:45:50 +0200 |
Language: | C++ |
Status: | READY |
Result: | WRONG ANSWER |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | WRONG ANSWER | 0.05 s | details |
#3 | ACCEPTED | 0.05 s | details |
#4 | ACCEPTED | 0.05 s | details |
#5 | WRONG ANSWER | 0.04 s | details |
#6 | ACCEPTED | 0.06 s | details |
#7 | ACCEPTED | 0.06 s | details |
#8 | ACCEPTED | 0.05 s | details |
#9 | WRONG ANSWER | 0.05 s | details |
#10 | ACCEPTED | 0.05 s | details |
#11 | ACCEPTED | 0.06 s | details |
#12 | ACCEPTED | 0.06 s | details |
Code
#include <iostream> #include <algorithm> #include <cmath> using namespace std; #define double long double double s[21]; double p[21]; const double EPS = 1e-10; int main(){ int B; cin>>B; for(int i=0;i<B;++i) cin >> s[i] >> p[i], p[i] /= 100; double P; cin >> P; P /= 100; int F; cin >> F; for(int j=0; j<F; ++j){ double e,m; cin>>e>>m; int i; for(i=0;i<B;++i){ if(e<s[i])break; e-=s[i]; } double pretax=0; for(;i<B;++i) { if (fabs(p[i]-1)<EPS) continue; if (m / (1-p[i]) < s[i]-e) { double step = m / (1-p[i]); pretax += step; m = 0; e = 0; } else { double step = s[i]-e; pretax += step; m -= step * (1-p[i]); e = 0; } //pretax += min(m, s[i]-e) / (1-p[i]); //if(s[i]-e<m)m-=s[i]-e-min(m,s[i]-e)*p[i]; //else m=0; //e=0; } pretax+=m/(1-P); cout.precision(20); cout<<fixed<<pretax<<'\n';; } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
15 148891.00 28.00 805364.00 87.00 634582.00 79.00 17853.00 44.00 ... |
correct output |
---|
2547695.379310344827 2321399.736842105263 1483827.050000000000 2143249.540229885057 2274676.206896551724 ... |
user output |
---|
2547695.37931034482767245208 2321399.73684210526312199363 1483827.05000000000006821210 2143249.54022988505744251597 2274676.20689655172418497386 ... |
Test 2
Verdict: WRONG ANSWER
input |
---|
20 134418.247909 100.000000 460992.674814 100.000000 483182.676209 100.000000 547855.202473 100.000000 ... |
correct output |
---|
9156906.198523983 9693423.061349906 10502105.752328817 9672904.490861356 9564540.496120345 ... |
user output |
---|
1104927.34133968787796220568 1406207.47938299023917352315 1815550.24277158924712693988 1007984.30739186796370177035 1664778.01793931821771366231 ... |
Test 3
Verdict: ACCEPTED
input |
---|
20 403700.601405 0.000000 460258.604510 0.000000 23786.440372 0.000000 563133.109868 0.000000 ... |
correct output |
---|
485497.5484875012 509085.26119997073 367933.7807113825 372051.2758548012 978627.760053996 ... |
user output |
---|
485497.54848599999999692045 509085.26120299999999474494 367933.78070700000000670116 372051.27585300000001211629 978627.76005900000001247463 ... |
Test 4
Verdict: ACCEPTED
input |
---|
20 1000000.000000 89.487794 1000000.000000 92.271080 1000000.000000 26.954953 1000000.000000 10.724797 ... |
correct output |
---|
2215356.9227896244 2215356.9227896244 2215356.9227896244 2215356.9227896244 2215356.9227896244 ... |
user output |
---|
2215356.92279523576098654303 2215356.92279523576098654303 2215356.92279523576098654303 2215356.92279523576098654303 2215356.92279523576098654303 ... |
Test 5
Verdict: WRONG ANSWER
input |
---|
20 1000000.000000 100 1000000.000000 100 1000000.000000 100 1000000.000000 100 ... |
correct output |
---|
100018999999.99973770 100018999999.99973770 100018999999.99973770 100018999999.99973770 100018999999.99973770 ... |
user output |
---|
99999999999.999737709760665893... |
Test 6
Verdict: ACCEPTED
input |
---|
13 802727.00 45.00 248820.00 6.00 599289.00 32.00 638330.00 62.00 ... |
correct output |
---|
926865.973684210526 71109.090909090909 74155.319148936170 737754.823529411765 223461.818181818182 ... |
user output |
---|
926865.97368421052630083068 71109.09090909090908638746 74155.31914893617021533601 737754.82352941176469585116 223461.81818181818181301423 ... |
Test 7
Verdict: ACCEPTED
input |
---|
13 372146.00 54.00 286443.00 77.00 979141.00 88.00 100349.00 95.00 ... |
correct output |
---|
2176969.444444444444 1583475.231884057971 1927691.407407407408 1384553.260869565217 2422119.444444444445 ... |
user output |
---|
2176969.44444444444457076315 1583475.23188405797100131167 1927691.40740740740750425175 1384553.26086956521737647563 2422119.44444444444457076315 ... |
Test 8
Verdict: ACCEPTED
input |
---|
1 10 0 0 3 0 1000 ... |
correct output |
---|
1000.000000000000 1000.000000000000 100000.000000000000 |
user output |
---|
1000.00000000000000000000 1000.00000000000000000000 100000.00000000000000000000 |
Test 9
Verdict: WRONG ANSWER
input |
---|
1 10000 100 0 3 0 1000 ... |
correct output |
---|
11000.000000000000 1000.000000000000 6000.000000000000 |
user output |
---|
1000.00000000000000000000 1000.00000000000000000000 1000.00000000000000000000 |
Test 10
Verdict: ACCEPTED
input |
---|
20 28281.933214 48.545249 149479.400680 93.450971 514177.468308 96.084911 213457.157686 31.185031 ... |
correct output |
---|
2767119.4882088914 2780191.581115332 721520.1429801255 2437543.63477251 2944642.7876166585 ... |
user output |
---|
2767119.48821353398420797021 2780191.58111824460388561420 721520.14297987997719019404 2437543.63477145893284614431 2944642.78762145588211751601 ... |
Test 11
Verdict: ACCEPTED
input |
---|
20 691855.785528 61.573933 515272.305523 3.029572 109193.145332 26.723722 902525.060198 57.548549 ... |
correct output |
---|
1340781.726133855 112838.89592164087 1422873.294797 293145.15809915063 414288.3427959987 ... |
user output |
---|
1340781.72613338198618748720 112838.89592092962609370943 1422873.29479474574600317283 293145.15809801716108040637 414288.34279482384624770930 ... |
Test 12
Verdict: ACCEPTED
input |
---|
20 620628.200177 32.182062 510518.048258 25.030431 24819.377991 40.889777 216472.622381 86.584436 ... |
correct output |
---|
33928.67246816422 34929.69844387517 377885.11476151145 1212187.6811249875 1424443.170566292 ... |
user output |
---|
33928.67246975902982697448 34929.69844737936268685985 377885.11476036363501407322 1212187.68111955089750608749 1424443.17057037756876525236 ... |