CF每日一題系列 —— 415A
阿新 • • 發佈:2018-09-07
cstring 線性 printf con 操作 for clu %d iostream
http://codeforces.com/problemset/page/7?order=BY_SOLVED_DESC
從5000以內選的,emmm還是比較水的哈
時間還是有的,所以萬事萬物貴在堅持,希望能堅持下去!
Describe:
1 - n個燈線性排列(初始為開),小明可以選擇開關 op,這回把op - n 的燈全部關閉,如果(是關著的狀態沒有影響)
給你小明選擇op的操作順序,輸出順序輸出每個燈是由哪個op操作關了的
Solution:
跑暴力就好了,我用了一個比較水的優化,記錄當前op的最小值,我只用識別比當前最小值的op小的操作就好了,輸出的時候加個判斷就好
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int maxn = 1e4; int r[maxn]; int main() { int n,m; while(~scanf("%d%d",&n,&m)) { memset(r,0,sizeof(r)); int op; int flagmin = n+1; for(int i = 1;i <= m;++i) { scanf("%d",&op); if(op < flagmin){ r[op] = op; flagmin = op; } } int out = r[1]; printf("%d",out); for(int i = 2;i <= n;++i) { if(r[i] != 0){ printf(" %d",r[i]); out = r[i]; } else printf(" %d",out); } printf("\n"); } return 0; }
CF每日一題系列 —— 415A