设计与算法:008:派

描述

我的生日要到了!根据习俗,我需要将一些派分给大家。我有N个不同口味、不同大小的派。有F个朋友会来参加我的派对,每个人会拿到一块派(必须一个派的一块,不能由几个派的小块拼成;可以是一整个派)。

我的朋友们都特别小气,如果有人拿到更大的一块,就会开始抱怨。因此所有人拿到的派是同样大小的(但不需要是同样形状的),虽然这样有些派会被浪费,但总比搞砸整个派对好。当然,我也要给自己留一块,而这一块也要和其他人的同样大小。

请问我们每个人拿到的派最大是多少?每个派都是一个高为1,半径不等的圆柱体。

输入

第一行包含两个正整数N和F,1 ≤ N, F ≤ 10 000,表示派的数量和朋友的数量。
第二行包含N个1到10000之间的整数,表示每个派的半径。

输出

输出每个人能得到的最大的派的体积,精确到小数点后三位。

样例输入

3 3
4 3 3

10 5
1 4 2 3 4 5 6 5 4 2

2500 9648
1474 1377 1252 1294 1292 1722 1637 1767 1764 1704 1333 1478 1773 1398 1374 1537 1271 1341 1487 1427 1686 1251 1602 1384 1393 1333 1353 1502 1614 1594 1668 1717 1729 1549 1640 1650 1484 1491 1502 1461 1280 1592 1568 1266 1619 1572 1433 1647 1542 1677 1704 1441 1558 1519 1583 1708 1481 1565 1423 1724 1372 1304 1655 1314 1483 1380 1593 1724 1500 1308 1271 1410 1529 1596 1433 1362 1253 1495 1638 1553 1258 1427 1751 1573 1703 1419 1366 1398 1741 1546 1335 1327 1479 1619 1270 1719 1629 1621 1529 1342 1558 1429 1509 1301 1654 1572 1292 1665 1696 1559 1431 1583 1744 1267 1785 1532 1444 1364 1559 1398 1539 1524 1354 1776 1356 1382 1580 1614 1632 1738 1586 1275 1380 1724 1749 1248 1381 1254 1542 1291 1443 1730 1503 1400 1626 1502 1689 1283 1623 1462 1311 1376 1615 1294 1781 1600 1305 1446 1428 1694 1398 1771 1599 1407 1708 1561 1412 1719 1573 1583 1767 1645 1398 1483 1258 1782 1614 1576 1278 1451 1667 1762 1456 1495 1270 1322 1309 1332 1525 1494 1656 1680 1350 1468 1717 1687 1786 1342 1619 1444 1683 1471 1302 1294 1584 1733 1705 1411 1523 1613 1491 1275 1588 1576 1528 1487 1655 1466 1449 1394 1589 1318 1703 1696 1415 1633 1468 1286 1605 1717 1488 1373 1273 1419 1296 1486 1782 1759 1655 1390 1585 1775 1422 1258 1565 1579 1503 1305 1258 1709 1456 1604 1656 1245 1385 1284 1635 1483 1327 1325 1413 1444 1455 1315 1493 1381 1559 1488 1353 1299 1507 1567 1287 1686 1582 1481 1479 1714 1544 1366 1636 1629 1728 1377 1631 1742 1418 1480 1438 1375 1434 1480 1448 1647 1553 1698 1785 1741 1271 1767 1253 1535 1547 1297 1307 1758 1408 1415 1686 1709 1538 1407 1551 1351 1414 1396 1307 1461 1505 1374 1593 1696 1484 1671 1428 1666 1454 1298 1620 1483 1278 1630 1647 1454 1556 1583 1298 1721 1755 1613 1515 1379 1649 1280 1487 1276 1305 1423 1495 1567 1555 1717 1348 1252 1601 1406 1675 1269 1461 1380 1381 1369 1767 1657 1452 1408 1454 1507 1343 1294 1333 1487 1430 1612 1524 1675 1645 1458 1311 1353 1654 1495 1284 1760 1376 1514 1379 1680 1412 1469 1273 1550 1595 1669 1293 1677 1291 1504 1397 1263 1427 1360 1507 1615 1729 1661 1375 1587 1332 1315 1570 1744 1568 1483 1589 1701 1626 1597 1595 1252 1279 1497 1559 1504 1380 1609 1394 1428 1742 1420 1320 1383 1537 1584 1627 1351 1330 1759 1568 1420 1287 1351 1249 1484 1463 1595 1271 1302 1405 1495 1311 1313 1749 1500 1574 1342 1738 1725 1399 1694 1359 1476 1706 1525 1690 1418 1634 1777 1390 1415 1282 1306 1395 1288 1548 1615 1512 1448 1546 1674 1700 1615 1745 1662 1744 1404 1634 1695 1343 1246 1474 1331 1352 1393 1613 1671 1568 1332 1533 1587 1504 1573 1651 1528 1490 1284 1356 1760 1489 1660 1519 1402 1360 1477 1693 1317 1639 1540 1769 1611 1416 1457 1699 1397 1479 1397 1281 1677 1487 1571 1349 1620 1773 1629 1362 1477 1670 1347 1322 1244 1636 1598 1275 1625 1705 1598 1699 1429 1351 1554 1669 1396 1640 1453 1550 1748 1607 1460 1510 1723 1661 1617 1429 1647 1459 1548 1753 1759 1524 1288 1632 1246 1516 1665 1628 1306 1476 1541 1492 1456 1724 1374 1610 1577 1584 1245 1410 1276 1335 1678 1757 1753 1508 1399 1485 1596 1576 1452 1568 1729 1369 1414 1732 1514 1708 1574 1577 1269 1744 1698 1482 1681 1701 1721 1343 1370 1596 1382 1404 1688 1273 1246 1526 1410 1274 1768 1636 1479 1305 1417 1421 1432 1460 1367 1575 1253 1570 1366 1279 1527 1693 1391 1293 1608 1325 1265 1735 1550 1404 1768 1451 1307 1771 1734 1346 1674 1588 1739 1366 1650 1786 1417 1295 1331 1413 1500 1342 1740 1623 1250 1352 1401 1398 1274 1766 1353 1712 1715 1660 1745 1568 1741 1265 1553 1560 1369 1312 1361 1737 1436 1769 1736 1610 1693 1281 1652 1406 1380 1605 1658 1387 1586 1273 1415 1617 1668 1525 1414 1468 1270 1372 1250 1768 1267 1560 1542 1265 1629 1532 1759 1694 1386 1709 1389 1293 1747 1254 1328 1756 1488 1616 1772 1287 1518 1400 1533 1399 1554 1704 1625 1582 1290 1632 1435 1314 1277 1606 1336 1535 1352 1724 1443 1495 1646 1461 1417 1478 1473 1375 1319 1590 1748 1305 1635 1479 1334 1381 1635 1518 1715 1345 1729 1634 1734 1377 1705 1768 1741 1670 1389 1722 1607 1589 1302 1339 1679 1477 1574 1781 1609 1651 1585 1442 1585 1433 1550 1548 1443 1398 1279 1243 1501 1765 1634 1320 1772 1552 1718 1726 1307 1320 1661 1672 1538 1720 1768 1430 1282 1427 1425 1520 1707 1767 1591 1377 1285 1354 1683 1357 1510 1591 1358 1640 1442 1749 1717 1427 1387 1520 1782 1451 1597 1528 1752 1348 1333 1605 1536 1245 1246 1590 1522 1710 1570 1327 1301 1484 1310 1613 1598 1577 1289 1713 1302 1488 1676 1649 1544 1276 1382 1539 1356 1737 1696 1322 1714 1243 1684 1463 1245 1687 1266 1396 1483 1465 1352 1413 1706 1420 1655 1518 1626 1701 1316 1558 1403 1749 1420 1576 1654 1431 1745 1768 1253 1654 1719 1725 1526 1616 1401 1400 1389 1297 1554 1501 1391 1535 1671 1311 1584 1539 1458 1424 1453 1531 1611 1485 1366 1244 1275 1649 1304 1777 1502 1315 1516 1434 1253 1256 1680 1283 1413 1282 1753 1596 1540 1358 1761 1296 1298 1558 1464 1513 1611 1674 1673 1435 1245 1668 1308 1693 1531 1370 1555 1246 1442 1284 1310 1452 1713 1747 1364 1756 1786 1331 1565 1411 1446 1411 1336 1501 1727 1557 1643 1423 1444 1401 1616 1318 1283 1681 1768 1443 1680 1536 1318 1335 1450 1385 1416 1376 1345 1538 1345 1760 1498 1540 1256 1701 1708 1349 1287 1520 1663 1559 1701 1737 1589 1402 1268 1629 1296 1666 1701 1606 1287 1777 1698 1494 1375 1744 1500 1350 1367 1602 1323 1622 1355 1753 1536 1693 1315 1452 1426 1736 1768 1340 1558 1442 1371 1583 1285 1297 1334 1615 1660 1379 1605 1443 1502 1610 1400 1759 1717 1524 1447 1669 1359 1431 1635 1524 1337 1580 1733 1521 1401 1586 1490 1716 1786 1619 1384 1700 1673 1476 1400 1418 1484 1763 1618 1743 1458 1776 1588 1388 1385 1248 1686 1502 1436 1407 1655 1403 1744 1474 1681 1774 1689 1256 1703 1560 1504 1300 1345 1262 1533 1503 1437 1646 1479 1685 1603 1694 1674 1276 1711 1688 1281 1482 1275 1346 1646 1688 1506 1475 1375 1272 1462 1693 1702 1250 1467 1419 1308 1569 1311 1470 1285 1377 1330 1393 1275 1562 1300 1578 1595 1640 1480 1505 1336 1512 1480 1611 1285 1744 1716 1289 1645 1263 1740 1560 1271 1420 1609 1752 1618 1677 1435 1661 1683 1394 1267 1716 1713 1741 1379 1393 1594 1488 1527 1687 1758 1765 1384 1672 1594 1313 1719 1452 1333 1672 1770 1361 1721 1592 1326 1552 1354 1391 1298 1250 1542 1323 1595 1341 1693 1732 1363 1500 1305 1648 1273 1276 1498 1414 1578 1305 1356 1510 1386 1446 1267 1369 1437 1617 1590 1392 1382 1701 1412 1310 1581 1584 1262 1389 1682 1712 1750 1258 1425 1269 1535 1327 1718 1662 1370 1509 1724 1483 1648 1324 1559 1672 1322 1753 1502 1670 1774 1514 1456 1272 1453 1250 1613 1472 1269 1508 1397 1776 1395 1451 1674 1560 1536 1478 1435 1663 1744 1245 1360 1478 1742 1548 1779 1277 1386 1367 1576 1373 1638 1246 1402 1720 1253 1772 1405 1279 1365 1559 1685 1390 1639 1572 1707 1388 1263 1355 1681 1637 1773 1670 1328 1728 1431 1736 1763 1574 1316 1424 1576 1583 1427 1608 1516 1438 1593 1678 1346 1588 1322 1244 1735 1719 1446 1655 1736 1338 1639 1630 1604 1626 1385 1561 1439 1573 1511 1415 1776 1584 1469 1566 1381 1653 1387 1654 1720 1609 1418 1280 1282 1497 1697 1774 1301 1772 1514 1251 1324 1367 1510 1685 1622 1653 1460 1274 1311 1728 1319 1717 1525 1545 1496 1535 1411 1512 1403 1761 1750 1578 1254 1246 1704 1580 1777 1635 1566 1505 1643 1647 1501 1782 1417 1336 1520 1634 1783 1461 1447 1315 1391 1602 1617 1516 1350 1658 1785 1510 1632 1748 1717 1515 1751 1507 1308 1742 1355 1503 1332 1627 1779 1590 1622 1410 1555 1772 1673 1551 1446 1750 1496 1466 1565 1326 1739 1672 1613 1737 1268 1330 1570 1614 1474 1407 1334 1412 1778 1446 1672 1323 1286 1665 1542 1538 1704 1310 1395 1590 1490 1470 1553 1743 1693 1747 1699 1645 1633 1397 1467 1530 1485 1666 1357 1716 1286 1449 1341 1277 1524 1643 1773 1568 1521 1528 1735 1438 1467 1343 1657 1715 1570 1296 1671 1476 1256 1455 1750 1518 1610 1302 1261 1308 1597 1248 1653 1641 1454 1624 1547 1735 1480 1534 1388 1630 1275 1336 1697 1372 1436 1567 1300 1635 1492 1600 1740 1378 1685 1703 1653 1508 1634 1544 1445 1445 1549 1311 1715 1760 1564 1347 1580 1257 1638 1598 1516 1543 1691 1426 1672 1757 1623 1601 1477 1328 1286 1431 1463 1728 1347 1746 1449 1611 1503 1523 1685 1681 1464 1485 1526 1785 1589 1319 1672 1441 1674 1401 1613 1451 1585 1370 1293 1421 1728 1527 1378 1643 1715 1599 1585 1692 1430 1663 1388 1562 1400 1286 1456 1621 1528 1739 1491 1746 1687 1376 1272 1575 1535 1642 1655 1333 1769 1577 1511 1582 1317 1646 1311 1662 1330 1525 1439 1389 1401 1584 1708 1430 1627 1377 1680 1784 1329 1385 1615 1774 1518 1645 1434 1266 1500 1718 1772 1355 1508 1368 1566 1454 1644 1506 1329 1731 1244 1525 1750 1275 1738 1671 1462 1450 1678 1772 1447 1636 1370 1276 1495 1517 1550 1686 1413 1679 1489 1398 1247 1626 1524 1443 1294 1381 1706 1252 1741 1580 1407 1576 1612 1358 1461 1703 1566 1768 1688 1642 1617 1687 1547 1326 1418 1310 1641 1460 1747 1760 1487 1623 1599 1768 1695 1650 1778 1615 1660 1605 1408 1696 1266 1649 1267 1356 1565 1462 1337 1467 1318 1712 1367 1494 1667 1414 1562 1521 1631 1394 1494 1332 1774 1723 1729 1683 1586 1593 1383 1331 1283 1420 1784 1306 1282 1681 1420 1604 1356 1386 1700 1303 1311 1697 1555 1607 1324 1746 1758 1585 1353 1337 1546 1756 1273 1360 1524 1617 1710 1536 1577 1622 1713 1447 1558 1624 1757 1607 1314 1742 1750 1771 1259 1691 1681 1443 1511 1635 1402 1482 1433 1384 1577 1736 1769 1607 1309 1507 1309 1649 1256 1516 1356 1599 1720 1671 1436 1562 1491 1379 1517 1455 1364 1405 1775 1674 1605 1499 1522 1636 1739 1584 1649 1401 1533 1632 1765 1472 1352 1704 1750 1781 1433 1319 1593 1782 1620 1659 1557 1740 1251 1287 1408 1244 1450 1268 1548 1684 1525 1283 1534 1349 1625 1396 1507 1243 1657 1357 1344 1766 1274 1307 1633 1336 1256 1439 1331 1633 1727 1517 1586 1608 1562 1624 1481 1641 1649 1786 1410 1259 1283 1573 1365 1537 1599 1629 1537 1469 1744 1511 1321 1647 1575 1711 1741 1460 1779 1285 1722 1720 1560 1522 1413 1751 1775 1651 1477 1509 1523 1644 1526 1435 1303 1648 1729 1659 1363 1351 1341 1320 1491 1419 1724 1280 1343 1678 1369 1336 1593 1305 1685 1782 1456 1727 1746 1444 1463 1308 1582 1743 1581 1321 1391 1641 1599 1749 1513 1719 1730 1612 1252 1434 1660 1605 1343 1761 1369 1470 1726 1719 1404 1496 1714 1617 1436 1545 1274 1656 1482 1613 1485 1276 1564 1505 1675 1376 1340 1401 1308 1699 1642 1733 1762 1516 1551 1319 1362 1549 1418 1301 1481 1451 1554 1280 1281 1619 1454 1728 1488 1693 1426 1602 1727 1747 1321 1487 1752 1418 1645 1273 1330 1501 1635 1305 1646 1400 1253 1765 1578 1300 1279 1273 1508 1462 1726 1546 1294 1266 1359 1411 1716 1543 1771 1528 1503 1721 1772 1469 1352 1503 1371 1311 1633 1764 1373 1492 1249 1256 1470 1584 1729 1378 1486 1451 1597 1426 1626 1520 1321 1743 1688 1250 1499 1544 1408 1631 1478 1265 1313 1459 1525 1314 1527 1371 1291 1530 1620 1713 1415 1719 1382 1357 1310 1626 1565 1664 1681 1277 1269 1759 1777 1587 1638 1361 1344 1675 1749 1452 1698 1692 1540 1308 1763 1281 1437 1683 1440 1686 1609 1612 1491 1748 1598 1558 1459 1377 1308 1353 1283 1334 1741 1273 1678 1465 1391 1652 1353 1353 1733 1264 1258 1486 1330 1650 1524 1396 1546 1593 1711 1784 1290 1415 1618 1646 1603 1290 1652 1668 1273 1692 1631 1643 1722 1523 1321 1742 1260 1432 1724 1750 1325 1740 1449 1284 1475 1603 1437 1779 1409 1778 1776 1329 1406 1607 1732 1638 1527 1597 1519 1429 1502 1364 1285 1309 1516 1364 1264 1405 1425 1745 1368 1507 1570 1446 1549 1259 1262 1615 1667 1301 1606 1656 1259 1642 1349 1748 1493 1505 1430 1642 1691 1689 1635 1605 1627 1780 1726 1648 1398 1364 1478 1523 1501 1678 1598 1679 1694 1490 1507 1574 1420 1743 1315 1436 1598 1293 1397 1720 1427 1584 1447 1331 1358 1295 1694 1742 1288 1505 1475 1315 1499 1582 1467 1629 1473 1279 1521 1252 1526 1785 1455 1703 1741 1528 1352 1424 1450 1378 1774 1635 1591 1434 1595 1706 1359 1374 1533 1276 1637 1765 1349 1765 1560 1445 1607 1663 1481 1341 1672 1636 1755 1341 1424 1582 1498 1405 1763 1577 1540 1622 1425 1344 1686 1650 1679 1674 1781 1425 1707 1503 1275 1685 1481 1593 1344 1717 1341 1454 1271 1770 1304 1656 1740 1357 1451 1323 1520 1299 1658 1689 1679 1712 1663 1578 1575 1555 1465 1442 1610 1257 1702 1642 1700 1269 1320 1673 1615 1418 1756 1516 1274 1273 1385 1771 1260 1593 1308 1537 1649 1595 1311 1541 1520 1731 1748 1725 1372 1298 1380 1739 1313 1711 1466 1642 1609 1544 1400 1438 1591 1369 1711 1622 1272 1309 1607 1289 1659 1544 1455 1393 1352 1523 1692 1501 1468 1525 1439 1469 1581 1448 1293 1523 1373 1516 1378 1611 1689 1407 1262 1494 1533 1602 1329 1562 1668 1565 1480 1412 1738 1692 1563 1719 1429 1340 1434 1526 1494 1630 1624 1288 1292 1674 1440 1294 1275 1447 1662 1722 1611 1682 1301 1774 1369 1259 1549 1251 1454 1659 1292 1405 1564 1484 1338 1622 1453 1529 1777 1705 1244 1486 1622 1709 1373 1276 1760 1278 1352 1508 1757 1721 1275 1687 1708 1401 1703 1342 1409 1786 1758
 

样例输出

25.133

50.265

1670457.071

//找到最大的蛋糕,用二分法,把蛋糕看作整体1,从0到1的分率来找合适的值
//eps大了,错了二次,派的值没取对,用了3.1415926错了好多次,咳
// Writed by Wangzhimin Date 2023/12/08 
#include<bits/stdc++.h>
using namespace std;
int maxi=0;
int cake[10005];
#define eps 1e-15
double p=acos(-1);//查到的一个值,先不知道呢,就在这错了多次 
int check(double d,int n,int f)//检查分率行吗 

{
    int j,cnt=0;    
    d=maxi*d;
    for(j=0;j<n;j++)
    {
        cnt+=(int)(cake[j]/d);//能分到几个人 
        }
    if(cnt>=f)
    return 1;
    else
    return -1;
}
int main()
{
    int n,f;//害得我把这两个用了局部变量了,找到错误处也不改这两个变量了 
    scanf("%d%d",&n,&f);
    f++;//加上自己 

    for(int i=0;i<n;i++)//输入 
    {
        cin>>cake[i];
        cake[i]*=cake[i];//半径乘 
        if(maxi<cake[i])
        {
        maxi=cake[i];//找到最大的 
        }
         
    }
    double l=0,r=1.0,midi;
    while(r-l>eps)//二分找吧 
    {
        midi=l+(r-l)/2;
        if(check(midi,n,f)>0)
        l=midi;
        else
        r=midi-eps;
    }
    printf("%.3f",maxi*r*p);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值