【工资计算 / 2】

news2024/9/20 14:46:03

题目

a3be384e5a5c4cc5b6359f8c52c2e5a7.png

枚举

#include <bits/stdc++.h>
using namespace std;
int T;
int a[] = {0,1500,4500,9000,35000,55000,80000,1000000};
int b[] = {0,3,10,20,25,30,35,45};
int check(int x)
{
    if(x <= 3500) return x;

    x -= 3500;
    int tax = 0;
    for(int i = 1; i < 8; i++)
    {
        if(x >= a[i-1])
        {
            tax += (min(x, a[i]) - a[i-1]) / 100 * b[i];
        }
    }

    return x + 3500 - tax;
}
int main()
{
    cin >> T;

    for(int x = 0; ; x += 100)
    {
        if(check(x) == T)
        {
            cout << x;
            break;
        }
    }
    return 0;
}

右区间二分

#include <bits/stdc++.h>
using namespace std;
int T;
int a[] = {0, 1500, 4500, 9000, 35000, 55000, 80000, 1000000};
int b[] = {0, 3, 10, 20, 25, 30, 35, 45};
int check(int x)
{
    if(x <= 3500) return x;
 
    x -= 3500;
    double tax = 0;
    for(int i = 1; i < 8; i++)
    {
        if(x >= a[i-1])
        {
            tax += (double)(min(x, a[i]) - a[i-1]) / 100 * b[i];
        }
    }
 
    return x + 3500 - tax;
}
int main()
{
    cin >> T;
 
    int l = T, r = T * 2;
 
    while (l < r){
        int mid = (l + r) >> 1;
        if(check(mid) >= T) r = mid;
        else l = mid + 1;
    }
 
    cout << l;
    return 0;
}

左区间二分(错,注意答案必须是100的倍数,结合精度丢失,可以判断必须采用右区间二分)

比如check(10000) (右区间边界)= check(10001)(左区间边界) = 9255

check(9999) < 9255

如果右区间二分,会得到10000,左区间二分会得到 >= 10001的值

#include <bits/stdc++.h>
using namespace std;
int T;
int a[] = {0, 1500, 4500, 9000, 35000, 55000, 80000, 1000000};
int b[] = {0, 3, 10, 20, 25, 30, 35, 45};
int check(int x)
{
    if(x <= 3500) return x;
 
    x -= 3500;
    double tax = 0;
    for(int i = 1; i < 8; i++)
    {
        if(x >= a[i-1])
        {
            tax += (double)(min(x, a[i]) - a[i-1]) / 100 * b[i];
        }
    }
 
    return x + 3500 - tax;
}
int main()
{
    cin >> T;
 
    int l = T, r = T * 2;
 
    while (l < r){
        int mid = (l + r + 1) >> 1;
        if(check(mid) <= T) l = mid;
        else r = mid-1;
    }
 
    cout << l;
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2128296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Spring Boot 整合 MyBatis 详细教程】

文章目录 Spring Boot 整合 MyBatis 详细教程简介环境准备项目搭建项目结构配置项目1. pom.xml 配置2. 数据源和 MyBatis 配置3. 启动类配置4. Mapper 接口和 XML 映射文件 测试总结 Spring Boot 整合 MyBatis 详细教程 简介 Spring Boot 与 MyBatis 的整合可以让你轻松地构建…

Unity射击游戏开发教程:(35)轰炸敌人

现在敌人和飞机已经慢慢地越来越有各自地地行为了,在本文中,我们将介绍如何创建一个具有以下行为的敌人: 飞机会来回弹跳。飞机将有 4 架无人机轰炸机围绕飞机旋转。无人机轰炸机会偶尔投下沿着屏幕传播的炸弹。如果炸弹击中玩家或在随机时间后就会爆炸。如果炸弹没有击中玩…

机器学习--逻辑回归

逻辑回归 前情提要&#xff1a;线性回归 关于分类 C l a s s i f i c a t i o n Classification Classification 在逻辑回归中&#xff0c;我们只讨论 y ∈ { 0 , 1 } y\in\{0, 1\} y∈{0,1} 的情况。其中 1 1 1 表示 p o s i t i v e c l a s s positive \; class posit…

无人机培训机构组装调试技术详解

一、基础知识学习 在进入无人机组装调试领域之前&#xff0c;扎实的基础知识是不可或缺的。学员需掌握以下内容&#xff1a; 1. 无人机基本原理&#xff1a;了解无人机的飞行原理&#xff0c;包括升力、推力、重力和阻力等基本物理概念&#xff0c;以及无人机的飞行控制系统&…

CSP-J 初中的数学知识要学完, CSP-S 肯定是要需高中的知识

学信奥赛好处很多&#xff0c;进则科技特长&#xff0c;退则数理化强。

【97】shell实现精确延时

#!/bin/bash#使用date精确延时的函数&#xff0c;参数是毫秒 function precise_sleep_ms() {local duration_ms$1# 将毫秒转换为秒local duration_sec$(echo "scale9; $duration_ms / 1000" | bc)duration_sec$(printf "%.3f" "$duration_sec")#…

JDBC API详解二

PreparedStatement 作用&#xff1a; 预编译SQL的执行&#xff0c;&#xff0c;预防SQL注入问题 SQL注入 通过操作输入来修改预先定义好的SQL语句&#xff0c;用以达到执行代码对服务器进行攻击的方法&#xff1b; SQL注入延时 需求&#xff0c;完成用户登录 select * fr…

04 奇偶分家

题目&#xff1a; 代码&#xff1a; #include<iostream> using namespace std; #include<stdlib.h> #include<stdio.h>int main() {int N;cin>>N;int jicount0,oucount0;for(int i0;i<N;i){int temp;cin>>temp;if(temp%20){oucount;}else if…

【python基础】简要wxPython

文章目录 wxPython程序主事件循环通俗解释在窗口中添加控件 wxPython程序 import wxapp wx.App() frm wx.Frame(None, title第一个wxPython程序, size(400, 300), pos(100, 100)) frm.Show() app.MainLoop()app.MainLoop() 让应用程序进入主事件循环中。事件循环是一种事件或…

计网简简单单复习一下

文章目录 基础体系结构(分层模型)为什么要分层?OSI 七层模型?每一层的作用?TCP/IP 四层模型是什么?每一层的作用是什么?五层体系结构以及对应的协议每一层常见协议有哪些?从输入 URL 到页面展示到底发生了什么?URI和URL的区别;forward和redirect的区别DNS作用是什么?D…

Find My外卖箱|苹果Find My技术与外卖箱结合,智能防丢,全球定位

外卖箱是外卖送餐时使用的具有保温广告功能的箱包&#xff0c;一般具有轻便易携&#xff0c;保温性好&#xff0c;耐用&#xff0c;安全&#xff0c;易固定在外送电动车上等特点。随着生活水平的提高和餐饮行业的飞跃&#xff0c;外卖作为餐饮行业一个新的利润增长点&#xff0…

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?idKS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的&#xff0c;这引发了人们的…

湖南岳阳农商行高管更迭背后:不良率居高,盈利压力不减

撰稿|芋圆 来源|贝多财经 2024年8月末&#xff0c;湖南岳阳农商行发布了2024年半年报&#xff0c;报告显示截至2024年6月末&#xff0c;湖南岳阳农商行资产规模累计231亿元&#xff0c;较2023年末增长1.34%&#xff1b;营业收入3.1亿元&#xff0c;同比增幅6.54%&#xff1b;…

上海亚商投顾:沪指续创阶段新低 两市成交不足5000亿元

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 大小指数昨日分化明显&#xff0c;沪指午后一度跌超1%&#xff0c;继续刷新阶段新低&#xff0c;创业板指则涨…

53 - I. 在排序数组中查找数字 I

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9853%20-%20I.%20%E5%9C%A8%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%95%B0%E5%AD%97%20I/README.md 面试题 53 - I. 在排序数组中查找数字 …

28BYJ-48步进电机详解(五线四相 STM32)

目录 一、介绍 二、模块原理 1.工作原理介绍 2.ULN2003驱动模块原理图 3.引脚描述 三、程序设计 main.c文件 stepmotor.h文件 stepmotor.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 步进电机&#xff08;STEP MOTOR&#xff09;把电脉冲信号变换成角位移…

socket编程详解

目录 1.认识socket编程 网络通信的本质 什么是socket编程&#xff1f; 如何进行socket编程&#xff1f; 2.基于UDP的socket编程 服务器端程序编写步骤 1.创建socket 2.将本地信息和网络信息进行绑定 3.接收数据 4.发送数据 客户端程序编写步骤 1.创建socket 2.发送…

再次进阶 舞台王者 第八季完美童模全球赛品牌大使【韩嘉滢】赛场秀场超燃合集!

7月20-23日&#xff0c;2024第八季完美童模全球总决赛在青岛圆满落幕。在盛大的颁奖典礼上&#xff0c;一位才能出众的少女——韩嘉滢&#xff0c;迎来了她舞台生涯的璀璨时刻。 品牌大使——韩嘉滢&#xff0c;以璀璨童星之姿&#xff0c;优雅地踏上完美童模盛宴的绚丽舞台&am…

第二百二十七节 JPA教程 - JPA日期列定义示例

JPA教程 - JPA日期列定义示例 时间类型是可以在持久状态映射中使用的基于时间的类型集合。 支持的时间类型的列表包括三个java.sql类型&#xff0c;java.sql.Date java.sql.Time和java.sql.Timestamp&#xff0c;以及两个java.util类型&#xff0c;java.util.Date和java.util.…

一家公司给1000个AI代理接入了《我的世界》——他们居然建造了一个社会

当世界上最伟大的沙盒游戏与几乎无限的AI力量结合时会发生什么&#xff1f;你会得到Project Sid&#xff0c;这是前麻省理工学院教授和神经科学家罗伯特杨博士构想出的一个精彩实验。 这位优秀的教授和他在专注于构建最先进自主代理的初创公司Altera.ai的团队决定看看他们是否…