微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们必须最大化模函数

如何解决我们必须最大化模函数

在这个问题中,我们必须最大化模函数。给出一个字符串我们已经删除了元素并在删除一个元素后检查哪个数字给出了最大的模数答案。

链接:- https://www.hackerearth.com/practice/data-structures/arrays/1-d/practice-problems/algorithm/maximize-modulo-2-0cb15ded/

我的代码无法通过所有测试用例,它在大多数测试用例中显示运行时错误错误答案。

#include "bits/stdc++.h"
using namespace std;
 
int countDigit(long long n)
{
    int count = 0;
    while (n != 0)
    {
        n = n / 10;
        ++count;
    }
    return count;
}
 
int main() {
 
    int t;
    cin>>t;
 
    for(int i=0;i<t;i++){
        int m,k;
        cin>>m>>k;
 
        string s;
        cin>>s;
 
        int ans = INT_MIN;
 
        int n = countDigit(k);
 
        if(n == m && stoi(s) < k){
            cout<<stoi(s)<<endl;
            continue;
        }
        else{
 
            for(int i=0;i<m;i++){
            string a = "";
            for(int j=0;j<m;j++){
                if(j == i){
                    continue;
                }
                else{
                    a += s[j];
                }
            }
 
            int mo;
            int num = stoi(a);
            mo = num%k;
 
            if(mo > ans){
                ans = mo;
            }
 
        }
 
        cout<<ans<<endl;
 
        }
 
    }
 
    return 0;
}

请告诉我我哪里出错了,或者请告诉我解决这个问题的更好方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。