今天写了道题,但不知道什么bug,在自己电脑上的两个编译器执行的过程都与我的算法想法不一样。。。
bug在第11行,该进入判断的时候都没有正确进入判断。。。不知道为什么。。。郁闷。
#include <bits/stdc++.h> #define rep(i, a, b) for(int i = a; i < b; i++) int gcd(int a, int b){return b == 0 ? a : gcd(a%b, a);} const int N = 12; int main() { int m, over = 0, re; double save = 0.; for(int i = 0; scanf("%d", &m) and i < N; i++) { over += 300 - m; if (over > 99) re = (over % 100) * 100, save += re, over -= re; else if (over < 0) return printf("-%d\n", i + 1), 0; } save *= 1.2; return printf("%d\n", over + (int)save), 0; }
测试1:
290 230 280 200 300 170 340 50 90 80 200 60
output:
-7
测试2:
290 230 280 200 300 170 330 50 90 80 200 60
output:
1580