洛谷 P1702 突擊考試
阿新 • • 發佈:2017-12-23
一個 scanf sticky adg -s %d font 最大值 data-
P1702 突擊考試
題目描述
一日,老師決定進行一次突擊考試。已知每個學生都有一個考試能力等級,教室裏一共有N個課桌,按照順序排成一列,每張課桌可以坐兩個人,第i張課桌坐的兩個人的能力等級為(A[i],B[i])。現在老師決定對能力等級為K的人進行測驗。他會從這N排中選擇連續的L排進行測驗,要求這 L排中的每一排至少有一個人考試能力等級為K。現在我們想知道L的最大值以及對應的等級K。
輸入輸出格式
輸入格式:
第1行:一個整數N;
第2..N+1行:每行兩個整數,表示A[i],B[i]。
輸出格式:
兩個整數L和K,要求在L最大的條件下K最小。
輸入輸出樣例
輸入樣例#1: 復制3
3 5
4 5
1 3
輸出樣例#1: 復制
2 5
說明
1≤N≤100,000,1≤A[i],B[i]≤5
思路:a[i],b[i]最大都均為5,所以可以模擬。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define MAXN 100010 using namespace std; int n,pos,maxn; int a[MAXN],b[MAXN];int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&a[i],&b[i]); for(int k=1;k<=5;k++){ int s=0; for(int i=1;i<=n;i++){ if(a[i]==k||b[i]==k) s++; if(a[i]!=k&&b[i]!=k){ if(s>=maxn){ maxn=s; pos=k; } s=0; } } if(s>maxn){ maxn=s; pos=k; } } printf("%d %d",maxn,pos); }
洛谷 P1702 突擊考試