全部评论
太强了吧,全AC,我一道都没有AC🤣
第二道怎么做,感觉自己好菜啊
第一题 n /= 2 until n==1 或到达k次 output (除的次数+n) 第二题 curr = 0 ans = 0 for r in requirements: ans += abs(curr) curr += r ans要用long否则会溢出 第三题 least k,就不展开了(其实就是自己没全过)
额 第一个怎么做啊
第一个是什么
编程题,求大佬的解题思路
什么叫做把N消去?
全a?告辞
这是出来秀的?我也全a了
第一个编程题都没看懂
只A了一道半......第二道题我隐约记得自己做过,但是忘了该怎么做了
那题示例答案好像有问题,15 4 应该是5
第一题
#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int a[N];
int main(){
int n, k;
scanf("%d%d", &n, &k);
int cnt = 1, sum = 0;
while(n > 1 && k > 0){
if(k >= cnt)k -= cnt;
else break;
sum += 1;
n = (n + 1) / 2;
// printf("%d %d %d %d\n", n, k, sum, cnt);
cnt *= 2;
}
printf("%d\n", sum + n);
}
第三题
#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int a[N];
int main(){
int n, k;
scanf("%d%d", &n, &k);
for(int i = 0; i < n; i++){
scanf("%d", &a[i]);
}
sort(a, a + n);
int cnt = 0, sum = 0;
for(int i = 0; i < n; i++){
int x = a[i] - sum;
if(x == 0)continue;
if(cnt >= k)break;
printf("%d\n", x);
sum += x;
cnt += 1;
}
while(cnt < k){
printf("0\n");
cnt++;
}
}
第二题不是数组前缀和的绝对值么,为啥只过了70%?
求第二题如何做。我在本地IDE示例做出来了,但是提交就是通过率0.00
菜鸟默默仰望高端大佬!
仰望大佬,我简直没思路,该怎么练习啊
笔试前1个小时才知道有选择题。(还以为跟头条一样) 做的心态崩溃,体验了一哈学渣视角做数学题。 怕编程时间不够就蒙了好多好多道。 后来做完编程还剩半个小时,那个悔啊,早知道先做编程了。😫
第一题示例2是不是有问题呀
相关推荐