Round #145(Div 2)

来源:互联网 发布:查士丁尼瘟疫 知乎 编辑:程序博客网 时间:2024/05/01 13:43
A. Lefthanders and Righthanders
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<algorithm>#include<set>#include<map>#include<vector>#include<string>#include<iostream>#include<sstream>using namespace std;int n;char s[10000];int main() {freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);scanf("%d", &n);scanf("%s", &s);for(int i=0; i<n/2; i++) {if(s[i] == 'R' && s[i+n/2] == 'L') printf("%d %d\n", i+n/2+1, i+1);else printf("%d %d\n", i+1, i+n/2+1);}return 0;}

B. Reading 
#include<iostream>#include<algorithm>using namespace std;typedef struct Node{int value;int index;}Lnode;bool comp(Lnode a, Lnode b){return a.value < b.value;}int main(){int n, k, a;cin>>n>>k;Lnode* ln = new Lnode[n+1];for(int i = 0; i < n; i++) {cin>>ln[i].value;ln[i].index = i + 1;}sort(ln, ln + n, comp);for(int k1=0;k1<n;k1++)cout<<ln[k1].value<<" "<<ln[k1].index<<" ";cout<<endl;cout<<ln[n - k].value<<endl;cout<<ln[n - k].index;for(int j = k - 1; j > 0; j--) {cout<<" "<<ln[n - j].index;}cout<<endl;return 0;}
#include<algorithm>#include<iostream>using namespace std;int n, k;int a[10000], b[10000];int main() {freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);scanf("%d%d", &n, &k);for(int i=0; i<n; i++) scanf("%d", &a[i]);for(int i=0; i<n; i++) b[i] = a[i];sort(b, b+n); reverse(b, b+n);int v = b[k-1];printf("%d\n", v);for(int i=0; i<n; i++) {if(a[i] >= v) {if(k > 0) {printf("%d", i+1);k--;if(k == 0) printf("\n"); else printf(" ");}}}return 0;}
 
 
//C. WEATHER
#include<iostream>using namespace std;int main(){int dp[100010],wt[100010];int n, maxLen = 1;cin>>n;for(int i = 0; i < n; i++) {cin>>wt[i];}dp[0] = 1;for(int j = 1; j < n; j++){dp[j] = 1;for(int i = 0; i < j; i++) {if(wt[j] > wt[i] && wt[j] > 0 && wt[i] > 0) {if(dp[j] < dp[i] + 1)dp[j] = dp[i] + 1;}}if(maxLen < dp[j])maxLen = dp[j];}cout<<maxLen<<endl;return 0;}
原创粉丝点击