标签:比较 有关 lin sizeof bsp signed problem sign TE
题解:同一个位置的访问时间是 time = i - 1 + k * n(每秒向前移动一步,初始时刻是0),从每个位置的出去时间满足( i - 1 + k * n >= a[ i ] ),然后解出满足不等式的最小的k,代入( i - 1 + k * n),就是从该位置出去的时刻,那么答案就是所有位置中出去时间最早的位置。因为time的大小只和k有关,所以可以直接比较k的大小。
PS:2000人的题FST了,真是气啊。除法中向上取整,分母加上 n - 1,避免判断!!!!!
#include<bits/stdc++.h> #define ll long long #define P pair<int,int> #define pb push_back #define lson root << 1 #define INF (int)2e9 + 7 #define maxn (int)1e5 + 7 #define rson root << 1 | 1 #define LINF (unsigned long long int)1e18 #define mem(arry, in) memset(arry, in, sizeof(arry)) using namespace std; int n; int a[maxn]; int main() { cin >> n; int res = INF, ans; for(int i = 1; i <= n; i++){ cin >> a[i]; int y = (a[i] - i + n) / n; if(res > y){ res = y; ans = i; } } cout << ans << endl; return 0; }
Codeforces Round #492 (Div. 2) [Thanks, uDebug!] — 赛后补题
标签:比较 有关 lin sizeof bsp signed problem sign TE
原文地址:https://www.cnblogs.com/zgglj-com/p/9223788.html