n, k = map(int, raw_input().strip().split() )
seq = map(int, raw_input().strip().split() )
score = seq[k - 1]
if score == 0:
counter = 0
for i in range(0, k):
if seq[i] > score:
counter += 1
print counter
else:
counter = k
for i in range(k, n):
if seq[i] >= score:
counter += 1
else:
break
print counter
Tuesday, July 31, 2012
Codeforce - 158A - Next Round
ACM105 -- The Skyline Problem
#include <iostream>
using namespace std;
int main()
{
int L,H,R;
int counter = 0;
int temp_pre,temp_curr;
int min = 20000,max = 0;
int building[10001] = {0};
while(cin>>L>>H>>R)
{
if(min>L)
min = L;
if(max<R)
max = R;
for(int i = L ; i < R ; i++)
{
if(building[i] < H)
building[i] = H;
}
counter++;
}
bool check = true;
temp_pre = building[min];
cout<<min<<" "<<temp_pre<<" ";
for(int j = min+1 ; j <= max ; j++)
{
temp_curr = building[j];
if(check) //check == true
{
if(temp_curr == 0)
{
check = false;
cout<<j<<" "<<temp_curr;
}else
{
if(temp_curr != temp_pre)
{
cout<<j<<" "<<temp_curr<<" ";
temp_pre = temp_curr;
}
}
}
else
{
if(temp_curr == 0)
{
//do nothing
}else
{
check = true;
temp_pre = temp_curr;
cout<<" "<<j<<" "<<temp_curr<<" ";
}
}
}
cout<<endl;
return 0;
}
Codeforces -- 1A -- Theater Square
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char* argv[]){
long double n,m,a;
cin>>n>>m>>a;
long long res = (long long)(ceil(n/a) * ceil(m/a));
cout<<res;
return 0;
}
ACM 10035 -- Primary Arithmetic
#include <iostream>
using namespace std;
int main(int argc, char* argv[]){
unsigned long long n1;
unsigned long long n2;
int carry = 0;
int sum = 0;
int count = 0;
while(cin >> n1 >> n2) {
if(n1 == 0 & n2 == 0)
break;
carry = 0;
count = 0;
sum = 0;
while ((n1 > 0) || (n2 > 0)) {
sum = carry + (n1 % 10) + (n2 % 10);
if (sum >= 10) {
count++;
}
carry = sum / 10;
n1 /= 10;
n2 /= 10;
}
if (count == 0) {
cout << "No carry operation." << endl;
} else if (count == 1) {
cout << "1 carry operation." << endl;
} else {
cout << count << " carry operations." << endl;
}
}
return 0;
}
ACM 494 -- Kindergarten Counting Game
#include <stdio.h>
#include <ctype.h>
int main()
{
char temp;
int counter = 0;
int isWord = 0;
while((temp = getchar()) != EOF){
if(temp == '\n'){
printf("%d\n", counter);
counter = 0;
isWord = 0;
}else{
if((temp >= 65 && temp <= 90)||(temp >= 97 && temp <= 122)){
if(isWord == 0){
isWord = 1;
counter++;
}
}else{
if(isWord == 1){
isWord = 0;
}
}
}
}
return 0;
}
ACM 10038 -- Jolly Jumpers
#include <stdio.h>
#include <math.h>
int main(int argc, char* argv[])
{
int counter;
int num[3000];
int flag[3000];
while( scanf("%d", &counter) == 1 ){
int i;
for(i = 0 ; i < counter ; i++){
scanf("%d", &num[i]);
flag[i] = 0;
}
int res = 0;
for(i = 1 ; i < counter ; i++){
int diff;
if(num[i] > num[i-1]){
diff = num[i] - num[i-1];
}else{
diff = num[i-1] - num[i];
}
if(0 < diff && diff < counter){
if(flag[diff] == 0){
flag[diff] = 1;
}else{
res = 1;
break;
}
}else{
res = 1;
break;
}
}
if( res == 1 ){
printf("Not jolly\n");
}
else{
printf("Jolly\n");
}
}
return 0;
}
ACM 458 -- The Decoder
#include <stdio.h>
#include <ctype.h>
int main()
{
char temp;
while((temp=getchar())!=EOF)
{
(temp == '\n') ? putchar(temp) : putchar(temp-7);
}
return 0;
}
ACM 272 -- TEX Quotes
#include <stdio.h>
#include <ctype.h>
int main()
{
char temp;
int pair = 0;
while((temp=getchar())!=EOF){
if(temp == '"'){
if(pair == 0){
pair++;
printf("``");
}else{
pair = 0;
printf("''");
}
}else{
putchar(temp);
}
}
return 0;
}
ACM 10071 -- Back to High School Physics
#include<stdio.h>
#include<stdlib.h>
int main()
{
int v, t;
while (scanf("%d %d",&v, &t)!= EOF){
printf("%d\n", 2*v*t);
}
return 0;
}
ACM 10055 -- Hashmat the Brave Warrior
#include <stdio.h>
int main()
{
long long int hash, oppen;
while (scanf("%lld %lld",&hash, &oppen)!= EOF){
if(hash > oppen)
printf("%lld\n", (hash - oppen));
else
printf("%lld\n", (oppen - hash));
}
return 0;
}
ACM 10110 -- Light, more light
#include <iostream>
#include <math.h>
#include <sstream>
#include <stdio.h>
#include <cstdio>
using namespace std;
bool willLight(double num){
long long int test = (int) sqrt(num) ;
if(test*test == num)
return true;
return false;
}
int main()
{
double input;
while(scanf("%lf", &input)){
if(input == 0.0)
break;
if( willLight(input) )
cout<<"yes"<<endl;
else
cout<<"no"<<endl;
}
return 0;
}
ACM 492 -- Pig-Latin
#include <stdio.h>
#include <ctype.h>
int test(char ch);
int main()
{
int i;
char ch;
char root;
int s;
while(1){
i = 0;
while(1){
ch = getchar();
if(ch == EOF)
return 0;
if(isalpha(ch)){
if(!i){
s = test(ch);
if(s)
printf("%c", ch);
else
root = ch;
i++;
}else{
printf("%c", ch);
}
}else{
if(!i){
printf("%c", ch);
break;
}
if(s){
printf("ay%c", ch);
}else{
printf("%cay%c", root, ch);
}
break;
}
}
}
return 0;
}
int test(char ch){
if(ch == 'A' || ch == 'a')
return 1;
if(ch == 'E' || ch == 'e')
return 1;
if(ch == 'I' || ch == 'i')
return 1;
if(ch == 'O' || ch == 'o')
return 1;
if(ch == 'U' || ch == 'u')
return 1;
return 0;
}
Subscribe to:
Comments (Atom)